1

这似乎是一个反复出现的问题,因为在过去几年中,YouTube API Google Group 上有许多类似的帖子。使用 YouTube iFrame API(仅尝试 HTML5 而不是 Flash)onStateChange 事件会正确触发(并调用指定的处理程序),但传递的数据属性未定义。我正在运行 OS X Mountain Lion,使用 Chrome (23.0.1271.64) 和 Safari (6.0.2) 都会出现错误。

任何关于问题可能是什么的想法都将不胜感激。

选定的代码片段

myapplication.controllers.Player = function(containerId, videoId) {

    [...]

    this.player = new YT.Player(this.currentView_.playerContainer_, {
        videoId: videoId,
        playerVars: { 'showinfo': 0, 'modestbranding': 1, 'rel': 0 },
        suggestedQuality: 'medium'
    });

    [...]

    goog.events.listen(this.player, 'onStateChange', this.onPlayerStateChange_, 
        false, this);

    [...]

};

myapplication.controllers.Player.prototype.onPlayerStateChange_ = function(e) {
  if (e.data == 1) {
    this.startTimer_(100);
  } else {
    this.stopTimer_();
  };
};
4

0 回答 0