挑战:
控制基于 iframe 的 YouTube 播放器已经使用 JavaScript API 存在于 HTML 中。
解决方案:
Rob W 的 callPlayer 函数可以控制带框架的 YouTube 视频。其工作原理如下:
function callPlayer(frame_id, func, args) { var iframe = document.getElementById(frame_id); if (iframe && iframe.tagName.toUpperCase() != 'IFRAME') { iframe = iframe.getElementsByTagName('iframe')[0]; } // Handle player readiness if (!iframe) { console.log('callPlayer: Frame not found;>
用法:
使用该功能:
callPlayer("whateverID", function() { // Function runs when player is ready (like "onYouTubePlayerReady") callPlayer("whateverID", "playVideo"); });
可能的问题及其解决方案:
问:为什么 playVideo 不开始视频播放?
答:播放需要用户交互并且存在allow=" iframe URL 中的“自动播放”。
问: 我收到“指定的字符串无效或非法”错误。
答: API 不支持在本地主机 (file://) 上无法正常工作。在线托管您的页面或使用 JSFiddle。
问:我如何知道要传递给 callPlayer 函数的参数?
A:Rob W 分析了用于确定必要参数的 API 源。
问: 支持哪些浏览器?
答: callPlayer 函数可以在支持 JSON 和 postMessage 的浏览器中工作( IE 8 、 Firefox 3.5 、 Opera 10.50 、 Safari 4 、 Chrome 3 )。
其他资源:
以上是如何使用 JavaScript 控制现有的 Iframe YouTube 播放器?的详细内容。更多信息请关注PHP中文网其他相关文章!