有一个chrome扩展,允许playbackRate设置和更改包含在u-tube iframe中的html5视频。
我想在Firefox上完成同样的事情(或者,更好的是,独立于浏览器)。
我想知道我是否必须通过一个附加组件(能够做消息传递跨站点,因为我的html不在you-tube上,但我的视频是),或者如果有一个更简单的方法(甚至可能跨浏览器工作)。
关于这件事的任何想法都会有用的。
根据Rachel Gallen的优秀建议(在评论中),以下是我尝试过的一些事情:
$(function (){
// a convenient way to get at things once the page renders
$("button#stop-me").click(function() {
var mytags = document.getElementsByTagName("video");
});
});
$(function (){
// a convenient way to get at things once the page renders
$("button#stop-me").click(function() {
var myframe = document.getElementsByTagName("iframe");
for(p in myframe)
{
var mytags = myframe.document.getElementsByTagName("video");
}
});
});
$(function (){
document.addEventListener('DOMNodeInserted', function(event) {
var node = event.target || null;
if (node && node.nodeName === 'VIDEO') {
nodeList.push(node);
}
});
$("button#stop-me").click(function() {
alert(nodeList.length);
});
});
第一个返回一个空的"mytags"。
第二个返回iframe列表,但是myframe出错。文档调用(如预期)。
第三个on从不命中nodeList.push(node)行,并为计数显示0(如预期)
如果可能的话,最好使用Youtube的API。你不知道Youtube会显示什么,它可能(例如)甚至不是HTML5视频,它可能是其他东西,比如flash。因此,虽然有可能破解它,但这不是最好的方法。
我还没有测试过,但它应该可以工作
document.getElementsByTagName("video")[0].playbackRate = 1.2
应该加速到速度的1.2倍
(同样0.7会使它变慢等等)