新的YT.Player()正在开发但不是生产

时间:2014-12-25 16:23:50

标签: javascript angularjs youtube-api production-environment youtube-iframe-api

似乎new YT.Player()正在开发但不是生产。

var player = new YT.Player(domId, {
  events: {
    onReady: function() {
      // because of a bug in the youtube iframe api
      var p;
      player.addEventListener('onStateChange', function(e) {
        if (e.data === 1) {
          p = $interval(function() {
            var elapsedTime = Math.floor(player.getCurrentTime());
            $scope.skim.sections[len-1].startTime = elapsedTime;
            setHMS($scope.skim.sections[len-1], elapsedTime);
          }, 1000);
        }
        else {
          $interval.cancel(p);
        }
      });
      console.log("onReady fired");
      updateStartTimeAndSeekTo($scope.skim.sections[len-1]);
      player.pauseVideo();
    }
  }
});

此代码应在视频播放时更新某些输入字段。它是在开发中实现的,而不是生产。

This是实况页面。 This是一段视频,解释了它应该如何运作。 this是相关的GitHub代码。

我真的不知道如何调试它。

  • 出于某种原因,console.log()陈述似乎并未出现在制作中。没有那些我不知道该怎么做。
  • 我检查了网络标签,似乎正在成功下载api代码。
  • heroku logs显示没有错误。

2 个答案:

答案 0 :(得分:1)

enter image description here

<iframe style="height: 156.443444006753px;" src="https://www.youtube.com/embed/3eMA0GvpXl0?showinfo=0&amp;enablejsapi=1&amp;origin=http://localhost:9000" ng-class="{ 'unloadedFrame': !skim.videoUrl }" class="subsection-iframe" responsive-height="" resize-on-load="" allowfullscreen="" frameborder="0" ng-src="skim.embedUrl" id="subsection-0-0"></iframe>

检查iframe源网址是否包含origin=http://localhost:9000硬编码。如果您从url中删除了origin参数。它开始运作了。

答案 1 :(得分:0)

问题可能出在生产环境配置文件中。添加 config.assets.debug = true到production.rb为我修复了它。