Youtube api Youtube iframe播放器API';onReady';事件不会被触发,尽管有建议的修复
我正在为我正在构建的应用程序使用youtube iframe播放器API。直到一个月前(2014年2月),一切正常。现在没有任何事件被触发,甚至“OnReady”也没有。其中一篇帖子建议在src属性中添加“origin=”。这并没有为我解决问题。下面是我的代码片段——我正在使用angularjs HTML: 视频播放并停止,但不会触发这些事件。我还看到一个错误“error:Ad adLoadError错误:无法从服务器请求广告。原因:error#2032错误代码:1103”。不确定这是否会干扰事件机制 感谢您的帮助 谢谢,Youtube api Youtube iframe播放器API';onReady';事件不会被触发,尽管有建议的修复,youtube-api,Youtube Api,我正在为我正在构建的应用程序使用youtube iframe播放器API。直到一个月前(2014年2月),一切正常。现在没有任何事件被触发,甚至“OnReady”也没有。其中一篇帖子建议在src属性中添加“origin=”。这并没有为我解决问题。下面是我的代码片段——我正在使用angularjs HTML: 视频播放并停止,但不会触发这些事件。我还看到一个错误“error:Ad adLoadError错误:无法从服务器请求广告。原因:error#2032错误代码:1103”。不确定这是否会干扰事
迪帕你的HTML被删除了,迪帕,但我可以告诉你你想做什么 我写了一个iframe,他们在这个iframe id上称为new YT.Player,直到几周前它还工作得很好。经过一些研究,我发现每隔几个月YouTube就会破坏这个功能——但他们从来不会破坏你使用新的YT.Player为你编写iframe的功能。我在google api bugs中看到的最新问题是
我停止了对它的攻击,并使用它们的默认方法重新构建了我的实现,尽管文档中说将YT.Player附加到已经编写好的iframe的方法很好 您需要在iframe src中添加
rel=0
您的HTML需要这样更改
<iframe id="player" width="1280" height="720" frameborder="0" allowfullscreen="" src="https://www.youtube.com/embed/-PXgGnKhEdQ?rel=0&autoplay=1&theme=light&color=white&origin=http://127.0.0.1:8000">
同上-我刚刚重新实现了让YT.Player编写iframe,这修复了IE9中onReady的不足。
$scope.onYouTubeIframeAPIReady = function(id) {
var player = new YT.Player('player', {
videoId: id,
events: {
'onReady': function (event) {
player.addEventListener('onStateChange', function(e) {
console.log('onReady');
});
},
'onStateChange': function (event) {
console.log('onStateChange')
}
}
});
}
<iframe id="player" width="1280" height="720" frameborder="0" allowfullscreen="" src="https://www.youtube.com/embed/-PXgGnKhEdQ?rel=0&autoplay=1&theme=light&color=white&origin=http://127.0.0.1:8000">
var tag = document.createElement('script');
tag.src = "http://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);