首页 > 解决方案 > 如何使用 javascript 更改 iframe 内视频的播放速率/速度?

问题描述

我想创建一些 javascript 来更改嵌入在加载网站的 iframe 中的视频的播放速率。标签在<video>iframe 中,我想playbackRate在上面设置。

我尝试使用document.getElementsByTagName('iframe')[0].contentDocument.querySelector('video')来获取视频元素,但该元素contentDocument为空,并且由于跨站点源权限而被阻止。

但是,有一个流行的 Chrome 扩展名为“视频速度控制器”,当我使用这个扩展时,它成功地设置了 iframe 内视频的视频播放速率。这个 chrome 扩展(它是开源的:https ://github.com/igrigorik/videospeed )如何能够设置 iframe 的视频播放速度?

我阅读了他们的代码,他们使用相同的策略:查找 iframe 和视频标签,并在找到的 iframe 标签上使用 contentDocument。每当有文档突变时,它们也会遍历所有 DOM 节点(在主脚本中:https ://github.com/igrigorik/videospeed/blob/master/inject.js )。这会允许他们访问视频节点吗?

编辑:该扩展程序承认跨站点源策略,并且似乎没有使用升级的权限。请参阅下面的评论。

谢谢!

标签: javascriptdomiframehtml5-videocross-domain

解决方案


推荐阅读