)*<\/div>/g, '\n');
result = result.replace(/
/g, '');
/* replaces some html entities */
result = result.replace(/ /g, ' ');
result = result.replace(/&/g, '&');
result = result.replace(/</g, '<');
result = result.replace(/>/g, '>');
result = result.replace(/'/g, "'");
downloadFile(TITLE+".srt",result);
});
}
// 下面这个函数不是我写的。我之前写的那种下载方法在 Chrome 更新之后失效了。不能指定下载时的文件名。
// 后来搜索了下找到这个解决方案就直接复制过来用了。
// 复制自: http://www.alloyteam.com/2014/01/use-js-file-download/
function downloadFile(fileName, content){
var aLink = document.createElement('a');
var blob = new Blob([content]);
var evt = document.createEvent("HTMLEvents");
evt.initEvent("click", false, false);
aLink.download = fileName;
aLink.href = URL.createObjectURL(blob);
aLink.dispatchEvent(evt);
}
// 处理时间. 比如 start="671.33" start="37.64" start="12" start="23.029"
// 我们处理成srt的时间, 比如 00:00:00,090 00:00:08,460 00:10:29,350
function process_time(s){
s = s.toFixed(3);
// 超棒的函数, 可以把不论是整数还是小数它都给你弄成3位小数形式的数字.
// 举个柚子:
// 671.33 -> 671.330
// 671 -> 671.000
// 注意, 这个函数会四舍五入. 具体可以去读文档
var array = s.split('.');
// 把开始时间根据句号分割
// 671.330 会分割成数组: [671, 330]
var Hour = 0;
var Minute = 0;
var Second = array[0]; // 671
var MilliSecond = array[1]; // 330
// 先声明一下变量, 待会把这几个拼好就行了。
// 我们来处理秒数. 把"分钟"和"小时"除出来。
if(Second >= 60){
Minute = Math.floor(Second / 60);
Second = Second - Minute * 60;
// 我们把 秒 拆成 分钟和秒, 比如121秒, 拆成2分钟1秒
Hour = Math.floor(Minute / 60);
Minute = Minute - Hour * 60;
// 我们把 分钟 拆成 小时和分钟, 比如700分钟, 拆成11小时40分钟
}
// 处理分钟,如果位数不够两位就变成两位,下面两个if语句的作用也是一样。
if (Minute < 10){
Minute = '0' + Minute;
}
// 处理小时
if (Hour < 10){
Hour = '0' + Hour;
}
// 处理秒
if (Second < 10){
Second = '0' + Second;
}
return Hour + ':' + Minute + ':' + Second + ',' + MilliSecond;
}