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


Posted in Javascript onOctober 28, 2009

先前看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; 
}
Javascript 相关文章推荐
解析javascript 实用函数的使用详解
May 10 Javascript
select多选 multiple的使用示例
Jun 16 Javascript
node.js实现端口转发
Apr 14 Javascript
Bootstrap 布局组件(全)
Jul 18 Javascript
jQuery 更改checkbox的状态,无效的解决方法
Jul 22 Javascript
RequireJs的使用详解
Feb 19 Javascript
极简主义法编写JavaScript类
Nov 02 Javascript
vue全局组件与局部组件使用方法详解
Mar 29 Javascript
js运算符的一些特殊用法
Jul 29 Javascript
JavaScript检测浏览器是否支持CSS变量代码实例
Apr 03 Javascript
详解vue路由
Aug 05 Javascript
浅谈克隆 JavaScript
Nov 02 Javascript
jquery 选择器部分整理
Oct 28 #Javascript
JavaScript 全角转半角部分
Oct 28 #Javascript
js apply/call/caller/callee/bind使用方法与区别分析
Oct 28 #Javascript
javascript 时间比较实现代码
Oct 28 #Javascript
浅谈javascript 面向对象编程
Oct 28 #Javascript
小议javascript 设计模式 推荐
Oct 28 #Javascript
JavaScript 组件之旅(四):测试 JavaScript 组件
Oct 28 #Javascript
You might like
九个你必须知道而且又很好用的php函数和特点
2013/08/08 PHP
浅析php数据类型转换
2014/01/09 PHP
[原创]php获取数组中键值最大数组项的索引值
2015/03/17 PHP
php生成静态页面并实现预览功能
2019/06/27 PHP
利用JQuery为搜索栏增加tag提示
2009/06/22 Javascript
jquery trim() 功能源代码
2011/02/14 Javascript
jQuery版Tab标签切换
2011/03/16 Javascript
js函数的延迟加载实现代码
2012/10/11 Javascript
javascript页面渲染速度测试脚本分享
2014/04/15 Javascript
javascript实现避免页面按钮重复提交
2015/01/08 Javascript
基于Jquery和CSS3制作数字时钟附源码下载(CSS3篇)
2015/11/24 Javascript
AngularJS 依赖注入详解和简单实例
2016/07/28 Javascript
jQuery.uploadify文件上传组件实例讲解
2016/09/23 Javascript
jQuery插件echarts设置折线图中折线线条颜色和折线点颜色的方法
2017/03/03 Javascript
利用vue.js插入dom节点的方法
2017/03/15 Javascript
微信小程序五星评分效果实现代码
2017/04/06 Javascript
百度地图去掉marker覆盖物或者去掉maker的label文字方法
2018/01/26 Javascript
JavaScript实现百度搜索框效果
2020/03/26 Javascript
vue3.0封装轮播图组件的步骤
2021/03/04 Vue.js
[02:08:58]2014 DOTA2国际邀请赛中国区预选赛 Ne VS CIS
2014/05/22 DOTA
Android 兼容性问题:java.lang.UnsupportedOperationException解决办法
2017/03/19 Python
Python2/3中urllib库的一些常见用法
2017/12/19 Python
python json.loads兼容单引号数据的方法
2018/12/19 Python
详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)
2019/03/26 Python
Win10下Python3.7.3安装教程图解
2019/07/08 Python
基于python 将列表作为参数传入函数时的测试与理解
2020/06/05 Python
python中取绝对值简单方法总结
2020/07/24 Python
高级运动鞋:GREATS
2019/07/19 全球购物
英国排名第一的停车场运营商:NCP
2019/08/26 全球购物
什么是网络协议
2016/04/07 面试题
高一物理教学反思
2014/01/24 职场文书
2015新年寄语大全
2014/12/08 职场文书
红领巾广播站广播稿
2015/08/19 职场文书
Java各种比较对象的方式的对比总结
2021/06/20 Java/Android
Python上下文管理器Content Manager
2021/06/26 Python
试了下Golang实现try catch的方法
2021/07/01 Golang