1

Кажется, что new YT.Player() работает в разработке, но не в производстве.новый 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 не показывает ошибок.
+0

Я верю https://github.com/adamzerner/skimmableVideos/blob/master/client/app/skims/new/new.controller.js#L275 строка, вызывающая проблему –

+0

@pankajparkar right, 'player' is undefined, и я думаю, что это потому, что 'new YT.Player()' не работает. Я не знаю, почему «новый YT.Player()» не работает. –

+0

игрок определяется. он имеет значения. но метод seekTo внутри игрока отсутствует. это метод API YT.Player() или вы пропустили его? –

ответ

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 URL содержат origin=http://localhost:9000 жёстко прописанные. Если вы удалили исходный параметр из url. Он начал работать.

+0

Это сработало, спасибо! –

+0

Ваш welcome.Glad, чтобы помочь вам. Спасибо. –

0

Проблема может быть в файле конфигурации производственной среды. Добавление config.assets.debug = true к production.rb исправил его для меня.

Смежные вопросы