Heim >Web-Frontend >js-Tutorial >Firebug 字幕文件JSON地址获取代码_javascript技巧

Firebug 字幕文件JSON地址获取代码_javascript技巧

WBOY
WBOYOriginal
2016-05-16 18:43:071422Durchsuche

先前看TED视频,关于 学校教育扼杀创造性的视频。
视频很好,也有中文字幕等。下面也提供高清版本下载,很是欣喜。
遗憾的是,字幕不提供下载。(或者说我没有找到)

俗话说,自己动手丰衣足食。直接拿Firebug找到字幕文件地址,下载下来看到是JSON格式的,随即想到直接用JS输出字符串就可以转换到srt字幕。
代码如下,非常简单的代码,实用就好,不求效率、安全和边界问题,只求最快解决我的问题~

不得不说,学一门编程语言很有意义,不论是什么,都能很方便解决一些实际的问题。这很开心。
JS仔细说来是一门很强大的语言,处理JSON和XML都很方便,大多数时候应付足够了。不过也会有力不从心的时候,尤其是对于系统的操作,总有很多缺陷。不过如果算上微软的JScript的话,也很可以了。曾经想学Python,现在也坦然了,随便用什么,喜欢就好。或许,这与我不再从事IT相关行业有关吧。够用就行咯~

复制代码 代码如下:

//读取chi_hans文件
$.getJSON("chi_hans",function(json) {
var c=json.captions,o=[];
for (var i=0,l=c.length; io.push(i+1);
//这里的18500是时间偏移
o.push(timeline(c[i].startTime+18500)+" --> "
+timeline(c[i].startTime+c[i].duration+18500));
o.push(c[i].content);
o.push("");
//if (i==5) break;
}
//这里我输出到一个textarea
$("#output").text(o.join("\r"));
});
//这是根据JSON里时间得到srt字幕里的时间
function timeline(time) {
t=new Date(time);
return [
leadZero(t.getUTCHours()),
leadZero(t.getUTCMinutes()),
leadZero(t.getUTCSeconds())
].join(":")+","+leadZero3(t.getUTCMilliseconds());
}
//加入前导零
function leadZero(s) {
if (sreturn "0"+s;
}else {
return s;
}
}
//这也是前导零,三位数的
function leadZero3(s) {
var ret;
if (sret="00"+s;
}else if (sret= "0"+s;
}else {
ret=s;
}
return ret;
}
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn