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 相关文章推荐
js继承call()和apply()方法总结
Dec 08 Javascript
AngularJs根据访问的页面动态加载Controller的解决方案
Feb 04 Javascript
JavaScript清空数组元素的两种方法简单比较
Jul 10 Javascript
详解javascript数组去重问题
Nov 06 Javascript
Sequelize中用group by进行分组聚合查询
Dec 12 Javascript
微信小程序封装http访问网络库实例代码
May 24 Javascript
通过命令行生成vue项目框架的方法
Jul 12 Javascript
vue+webpack实现异步组件加载的方法
Feb 03 Javascript
jQuery AJAX 方法success()后台传来的4种数据详解
Aug 08 jQuery
微信小程序实现页面分享onShareAppMessage
Aug 12 Javascript
原生JS实现贪吃蛇小游戏
Mar 09 Javascript
vue-resource 拦截器interceptors使用详解
Jan 18 Vue.js
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中操作ini配置文件的方法
2013/04/25 PHP
php导入大量数据到mysql性能优化技巧
2014/12/29 PHP
浅谈php冒泡排序
2014/12/30 PHP
php实现异步将远程链接上内容(图片或内容)写到本地的方法
2016/11/30 PHP
PHP中OpenSSL加密问题整理
2017/12/14 PHP
php 获取xml接口数据的处理方法
2018/05/31 PHP
Javascript 获取链接(url)参数的方法
2009/02/15 Javascript
jquery 新手学习常见问题解决方法
2010/04/18 Javascript
jquery 如何动态添加、删除class样式方法介绍
2012/11/07 Javascript
jQuery中fadeIn、fadeOut、fadeTo的使用方法(图片显示与隐藏)
2013/05/08 Javascript
js判断IE浏览器版本过低示例代码
2013/11/22 Javascript
JS使用post提交的两种方式
2015/12/03 Javascript
JS中多种方式创建对象详解
2016/03/22 Javascript
JavaScript学习笔记之取数组中最大值和最小值
2016/03/23 Javascript
深入理解Angular2 模板语法
2016/08/07 Javascript
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
2017/06/12 jQuery
基于zTree树形菜单的使用实例
2017/12/25 Javascript
vue实现Excel文件的上传与下载功能的两种方式
2019/06/28 Javascript
进一步探究Python中的正则表达式
2015/04/28 Python
python 循环遍历字典元素的简单方法
2016/09/11 Python
布隆过滤器的概述及Python实现方法
2019/12/08 Python
如何解决tensorflow恢复模型的特定值时出错
2020/02/06 Python
Python Numpy 控制台完全输出ndarray的实现
2020/02/19 Python
浅谈Python中的继承
2020/06/19 Python
硕士生工作推荐信
2014/03/07 职场文书
群众路线党课主持词
2014/04/01 职场文书
本科毕业生自荐信
2014/06/02 职场文书
营业用房租赁协议书
2014/11/26 职场文书
2015年度党风廉政建设工作情况汇报
2015/01/02 职场文书
工程技术负责人岗位职责
2015/04/13 职场文书
2015国庆节宣传语
2015/07/14 职场文书
教师节主题班会教案
2015/08/17 职场文书
2016年12月份红领巾广播稿
2015/12/21 职场文书
车位出租协议书范本
2016/03/19 职场文书
浅谈Python基础之列表那些事儿
2021/05/11 Python
JavaWeb实现显示mysql数据库数据
2022/03/19 Java/Android