youtube api,firefox 4.0。 iframe无法加载视频

时间:2012-05-12 02:29:36

标签: javascript api video youtube

尝试使用iFrame解决此问题,Firefox 4.0无法加载视频 这是我目前的代码。我试图调查这个网站 - https://developer.mozilla.org/en/HTML/HTML5/Optimizing_Your_Pages_for_Speculative_Parsing寻求帮助。但这对我来说并没有多大意义。

任何帮助都会感激不尽

此致 马特

<div id="myVid"></div>

        <script>

          var tag = document.createElement('script');
          tag.src = "http://www.youtube.com/player_api";
          var firstScriptTag = document.getElementsByTagName('script')[0];
          firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);


          var player;
          function onYouTubePlayerAPIReady() {
            player = new YT.Player('myVid', {
              height: '80%',
              width: '100%',
              events: {
                'onReady': onPlayerReady,
                'onStateChange': onPlayerStateChange
              }
            });
          }


          function onPlayerReady(event) {
            event.target.playVideo();
          }



          function onPlayerStateChange(event) {
            if (event.data == YT.PlayerState.ENDED) {
              getVideo();

            }
          }

        </script><

1 个答案:

答案 0 :(得分:1)

使用YouTube嵌入方法需要具有 HTML5 postMessage 支持的现代浏览器。

您使用的Firefox版本是4.0版,但Firefox中的postMessage可从版本6 开始。

YouTube API嵌入要求:
https://developers.google.com/youtube/iframe_api_reference#Requirements

HTML5 postMessage参考:
https://developer.mozilla.org/en/DOM/window.postMessage

巧合的是,如果你使用的是Firefox版本6并且你的嵌入式标记已经完成了视频ID,那么你将面临一个灾难性的错误,这个错误在YouTube嵌入API的最后两天出现了...... Flash Fallback已经破解了!如果适用,请参阅此SO解决方案解决方案:
https://stackoverflow.com/a/10560802/1195891