2015-07-20 131 views
0

有一个Chrome扩展,允许为包含在you-tube iframe中的html5视频设置和更改playbackRate。如何更改you-tube iframe中包含的html5视频的playbackRate?

我想在Firefox上完成同样的事情(或者更好的是,独立的浏览器)。

我想知道如果我必须通过附加组件来做到这一点(为了能够做消息传递站点,因为我的HTML不在你的管,但我的视频是),或者如果有一个更简单的方法(甚至可能跨浏览器)。

关于此事的任何想法都会有用。

每瑞秋罗嘉良的指教(在评论)这里有一些事情我已经尝试:

$(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”。

第二个返回iframes的列表,但myframe.document调用错误(如预期)。

第三上从来没有命中计数的nodeList.push(节点)线和显示0(预期)

回答

0

如果可能的话,最好是使用YouTube的API。你不知道Youtube会显示什么,它可能(例如)甚至没有HTML5视频,它可能是其他类似Flash的东西。所以虽然有可能破解这个,但这不是最好的方法。

+0

我没有看到这个提供在YouTube的API。我错过了吗? – user3731598

0

我没有测试过这一点,但它应该工作

document.getElementsByTagName("video")[0].playbackRate = 1.2应该加快步伐,以1.2倍的速度

(同样0.7会慢下来等)

+0

试过了。它不起作用(我认为是因为“视频”标签位于iframe中,并且浏览器认为由于它们是跨域而使它们成为禁止否定)。 – user3731598