【问题标题】:new YT.Player() working in development but not production新的 YT.Player() 在开发中工作但不是在生产中
【发布时间】:2015-02-23 06:44:09
【问题描述】:

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 没有显示任何错误。

【问题讨论】:

  • @pankajparkar 对,player 未定义,我认为这是因为 new YT.Player() 不起作用。我不知道为什么new YT.Player() 不起作用。
  • 播放器已定义。它有价值观。但是 player 内部的 seekTo 方法丢失了。是 YT.Player() API 方法还是你没写?
  • stackoverflow.com/questions/9813774/… 一些与 seekTo 问题相关的内容..
  • 你怎么知道那个玩家是被定义的(我没有怀疑,只是想知道如何自己弄清楚)。我不确定您对 YT.Player() 的要求是什么,但它在开发中运行良好,所以我认为我没有用错(除非它在生产中需要不同的用途,但我没有看到任何东西关于docs)。

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


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    <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 源 URL 是否包含 origin=http://localhost:9000 硬编码。如果您从 url 中删除了 origin 参数。它开始工作了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-20
      • 2011-10-29
      • 2015-08-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多