【发布时间】: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