javascript - 如何使用 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 )。这会允许他们访问视频节点吗?
编辑:该扩展程序承认跨站点源策略,并且似乎没有使用升级的权限。请参阅下面的评论。
谢谢!
解决方案
推荐阅读
- html - 如何使用ui元素在行中居中图标
- c - 我了解到在 C 语言中 char 类型的范围是 -128 到 127,但看起来不是这样
- python - Pandas:GroupdBy 直到下一行具有不同的值
- google-cloud-platform - 当文件到达云存储时触发云 ml 上的训练任务
- stata - 使用 coefplot 绘制具有多个结果的特定固定效应变量
- node.js - 适用于 postgreSQL 的 AWS Lambda 函数 NodeJs - 超时错误
- windows - 删除具有特定扩展名的文件(特定文件除外)
- oop - Monolith,洋葱架构,多种数据库类型,如何从具有不同数据库类型的 2 个不同服务类中进行“事务”?
- sql - 将 nvarchar(255) 转换为日期 SQL
- javascript - 为什么这个函数会抛出无法捕获的异常?