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

先前看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; i<l; i++) {
o.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 (s<10) {
return "0"+s;
}else {
return s;
}
}
//这也是前导零,三位数的
function leadZero3(s) {
var ret;
if (s<10) {
ret="00"+s;
}else if (s<100) {
ret= "0"+s;
}else {
ret=s;
}
return ret;
}

时间: 2024-08-02 23:02:05

Firebug 字幕文件JSON地址获取代码_javascript技巧的相关文章

javascript 获取HTMl文件指定元素的代码_javascript技巧

获取HTML文件的指定元素 获取HTML文件的元素Body 获取HTML文件的元素H2 获取HTML文件的元素P

js 实现 input type=&amp;quot;file&amp;quot; 文件上传示例代码_javascript技巧

在开发中,文件上传必不可少,<input type="file" /> 是常用的上传标签,但是它长得又丑.浏览的字样不能换,我们一般会用让,<input type="file" />隐藏,点其他的标签(图片等)来时实现选择文件上传功能. 看代码: 复制代码 代码如下: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <he

防止文件缓存的js代码_javascript技巧

复制代码 代码如下: <script language="javascript" type="text/javascript"> //防止js文件缓存下来,以后更新时不再需要用户重新删除IE文件等操作. var now=new Date(); var number = now.getYear().toString()+now.getMonth().toString()+now.getDate().toString()+now.getHours().toS

下载网站打开页面后间隔多少时间才显示下载链接地址的代码_javascript技巧

复制代码 代码如下: <a id="readylink" href="javascript:download();" class="submitbutton">请等待</a> <a id="downloadlink" href="http://www.jb51.net/" class="submitbutton" style="display:no

javaScript 动态访问JSon元素示例代码_javascript技巧

复制代码 代码如下: $(document).ready(function () { var obj = {Name: 'Allen', Age: '30'}; for (var o in obj) { var a = console.log(o); // Name ,Age var a = console.log(obj[o]); //Allen,30 } }); </script>

JavaScript下利用fso判断文件是否存在的代码_javascript技巧

复制代码 代码如下: function ReportFileStatus(filespec) { var fso, s = filespec; fso = new ActiveXObject("Scripting.FileSystemObject"); if (fso.FileExists(filespec)) s += " exists."; else s += " doesn't exist."; return(s); } 采用客户端的 Fi

PHP 获取远程文件内容的函数代码_php技巧

如下函数: 复制代码 代码如下: <? /** 获取远程文件内容 @param $url 文件http地址 */ function fopen_url($url) { if (function_exists('file_get_contents')) { $file_content = @file_get_contents($url); } elseif (ini_get('allow_url_fopen') && ($file = @fopen($url, 'rb'))){ $i

JS不能跨域借助jquery获取IP地址的方法_javascript技巧

获取IP地址,JS也可以获取客户端IP地址啦,大家知道JS不能跨域,所以这里借助了jquery,真的可以实现获取IP地址,代码如下,已通过测试: <script language="javascript" src="http://www.jb51.net/jslib/jquery/jquery.js"></script> <script language="javascript"> jQuery(functio

c#和Javascript操作同一json对象的实现代码_javascript技巧

能否让客户端和服务端操作同一json对象呢?目前想到的方式是通过客户端隐藏控件来实现. 以下是一个泛型列表对象 List<TrainingImplement> ,转为json后,客户端和服务端如何操作 1.json对象与C#泛型相互转换代码 复制代码 代码如下: //将json数据转换为泛型 public static T ConvertByteDataToObject<T>(string byteData) { T obj; using (var ms = new MemoryS