Nik*_*tov 46 javascript youtube api video youtube-api
我在一个页面中嵌入了一个YouTube视频,并有一个滑块,我可以使用该滑块设置播放器速度.
我在用 player.setPlaybackRate(value);
问题是我希望范围从0.5到3,但播放器API仅将值限制为预定义[0.25, 0.5, 1, 1.25, 1.5, 2]
.
在YouTube中我可以轻松调整速度document.getElementsByTagName("video")[0].playbackRate = 3
但在iframe上我没有这样的访问权限.
Rus*_*age 17
你在哪里看到播放器API限制了这些值?在javascript API中,您可以使用setPlaybackRate来设置建议的播放速率,但它表示没有保证您发送的内容将被设置.您应该使用getAvailablePlaybackRates获取播放速率列表,然后选择合适的播放速率.您可以通过监听onPlaybackRateChangeevent来确定实际设置的 速率.如果您尝试将其设置为3并且这不是可用费率之一,则它将向1舍入到最接近的费率.
Dus*_*ner 12
编辑:这不再起作用了.
这是由于同源政策.当根源(您的网站)访问iframe时,它似乎也会更改iframe的来源.因此,视频无法从其他来源(youtube.com)加载.看看我对JSFiddle的测试.
我认为它以前工作的事实是最近修复过的XSS安全问题.所以我无法想象在youtube中修改iframe甚至是可能的.至少不是这样的.
谢谢@maxple指出!
原帖:
这应该适用于较新的浏览器和HTML5 Iframe Sandbox属性:
使用该选项,您可以访问iframe DOM节点.
<iframe id="myframe" sandbox="allow-scripts" src="about:blank"> </iframe>
<script>
var frame = document.getElementById("myframe");
var fdoc = frame.contentDocument;
fdoc.getElementsByTagName("video")[0].playbackRate = 3; // or whatever
</script>
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅此帖子.
归档时间: |
|
查看次数: |
6065 次 |
最近记录: |