我想创建一些JavaScript来更改已加载网站上iframe中嵌入的视频的播放率。 <video>
标签位于iframe中,我想在其上设置playbackRate
。
我尝试使用document.getElementsByTagName('iframe')[0].contentDocument.querySelector('video')
获取视频元素,但是contentDocument
为空,并且由于跨站点原始权限而被阻止。
但是,有一个流行的Chrome扩展名为“ Video Speed Controller”,当我使用此扩展时,它会成功设置iframe中视频的视频播放速率。此chrome扩展程序(开放源代码:https://github.com/igrigorik/videospeed)如何设置iframe的视频播放速度?
我阅读了他们的代码,他们使用了相同的策略:寻找iframe和视频标签,并在找到的iframe标签上使用contentDocument。每当发生文档更改时,它们还将遍历所有DOM节点(在主脚本中:https://github.com/igrigorik/videospeed/blob/master/inject.js)。这样可以让他们访问视频节点吗?
编辑:该扩展程序承认跨站点原始策略,并且似乎没有使用升级的权限。请参阅下面的评论。
谢谢!