Android原生浏览器2.3.7:Youtube iframe API“onReady”事件未触发

时间:2013-08-28 17:51:34

标签: javascript android backbone.js youtube-api android-2.3-gingerbread

我正在使用Win / mac chrome& amp测试我的骨干应用程序firefox,iPad,iPhone,Android 4.3,Android 4.1.2和Android 2.3.7。 Youtube iFrame API使用本机浏览器在除Android 2.3.7之外的所有平台上正常运行。我已将其跟踪到YT.Player()返回的对象,从不触发其onReady事件或任何其他事件。

在所有测试中都会调用onYoutubeIframeAPIReady,并且正在实例化播放器,但有些东西阻止了“onReady”事件的触发。

我在其他浏览器中看到过一些引用类似问题的帖子,但一般的回答只是这是一个“老bug”,应该已经解决了;但是,我在纯HTML页面上尝试了YT.Player的简单实现,并且它在2.3.7本机浏览器中工作,所以它似乎不是Youtube,浏览器或服务器问题。不确定这里会发生什么,因为代码在所有浏览器中都是相同的,并且正在处理其他所有事情。任何帮助将不胜感激!

代码:

_injectScript: function(){
  var tag = document.createElement('script');
  tag.src = "https://www.youtube.com/iframe_api";
  var firstScriptTag = document.getElementsByTagName('script')[0];
  firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
},


render: function(runTimeSettings) {
  var t=this;
  Player.prototype.render.call(this, runTimeSettings);
  window.onYouTubeIframeAPIReady = function() {
    var player = new YT.Player('PlayerReal', {
      events: {
        'onStateChange': function(e) {
          t.dispatchEvent(e);
        },
        'onReady': function(e) {
          t.player = player;
          t.domReady.resolve();
        },
        'onError':function(e) {
          // nothing yet...
        }
      }
    });
  };

  this._injectScript();
  return this.el;
}

0 个答案:

没有答案