首页 > 解决方案 > 使用 JS/HTML 倒带 YouTube 视频

问题描述

我有一个网站,其中包含来自 youtube 的嵌入式视频,该视频具有特定时间的统计数据。

document.getElementById('video').innerHTML='<iframe width="560" height="315" src="https://www.youtube.com/embed/'+video+'?autoplay=1&start='+timecode+'"</iframe>'

我只需要定期显示某些视频片段,比如说,从 23 到 33 秒。我该如何实施?我可以在 10 秒后将视频倒回到 23 吗?

标签: javascripthtml

解决方案


你不能——至少不使用 DOM。

这是因为 YouTube 视频托管在<iframe>一个限制性的跨站点/跨域设置中,该设置阻止父页面中的脚本(即您控制的脚本)与加载到其中的内容交互<iframe>- 这是为了防止人们被被欺骗加载一个带有完整页面的网页,该页面<iframe>以当前用户身份加载 YouTube 视频(假设他们同时登录到 YouTube),并在父页面中有脚本来获取数据/信息或通过使通过 iframe 更改帐户。

但是您可以使用 YouTube 脚本库...

https://developers.google.com/youtube/iframe_api_reference

该库使用更安全的技术postMessage来安全地向嵌套 iframe 发送和接收消息,而不是直接与其 DOM 交互。


推荐阅读