我在使用iframe嵌入的YouTube播放器API参考时遇到问题...
特别是使用http://www.youtube-nocookie.com
(iOS允许嵌入在Safari中播放所必需的)
http://www.youtube-nocookie.com没有为演示中的onPlayerReady函数调用 (适用于http://www.youtube.com)
请参阅下面的重现步骤
第1步: 使用标准的api演示: (复制下面链接中的代码) https://developers.google.com/youtube/iframe_api_reference#Getting_Started
--->工作得很好
- 第2步: 按照https://developers.google.com/youtube/iframe_api_reference#Loading_a_Video_Player
中的说明更改
<div id="player"></div>
到(在步骤1的演示中)
<iframe id="player" type="text/html" width="640" height="390" src="http://www.youtube.com/embed/M7lc1UVf-VE?enablejsapi=1&origin=http://example.com" frameborder="0"></iframe>
(确保将origin = http://example.com更改为您的域名)
---&GT;工作得很好
- 第3步: 在最后一步添加的iframe标记中, 变化
src="http://www.youtube.com/embed/...
到
src="http://www.youtube-nocookie.com/embed/...
---&GT;现在永远不会调用onPlayerReady函数
注意:据我所知,这个问题过去几周才开始工作......
答案 0 :(得分:1)
我完全可以确认这个问题。我已经使用youtube-nocookie.com超过一年了,突然几周前它停止了工作。正常youtube.com嵌入工作很好。
这似乎不仅仅是你的问题,我猜这是谷歌方面的问题。
答案 1 :(得分:1)
window.onYouTubeIframeAPIReady = function() {
player = new YT.Player(document.getElementById('player'), {
height: '390',
width: '640',
videoId: 'M7lc1UVf-VE',
host: 'https://www.youtube-nocookie.com',
events: {
'onReady': function() {
console.log('ready');
},
'onStateChange': function() {
console.log('state change', arguments)
}
}
});
}
$.getScript("https://www.youtube.com/iframe_api");
答案 2 :(得分:0)
似乎API与youtube-noocookie.com一起运行正常。以下代码在JsFiddle中有效,但在StackOverflow编辑器中不起作用。
window.onYouTubeIframeAPIReady = function() {
player = new YT.Player(document.getElementById('player'), {
height: '390',
width: '640',
videoId: 'M7lc1UVf-VE',
host: 'https://www.youtube-nocookie.com',
events: {
'onReady': function() {
console.log('ready');
},
'onStateChange': function() {
console.log('state change', arguments)
}
}
});
}
$.getScript("https://www.youtube.com/iframe_api");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div id="player">
</div>