使用 YouTube iframe 时强制执行 nocookie 模式 API
Enforce nocookie mode when using the YouTube iframe API
我想确保当我初始化一个 new YT.player()
时,我可以设置它以确保它使用来自 www.youtube-nocookie.com
域的嵌入。这目前可能吗?我还没有在文档中找到对它的任何引用。
啊。我正要 post 我的问题时设法解决了这个问题。
在我的代码中,我使用了类似的东西:
<iframe id="myVideo" src="https://www.youtube-nocookie.com/embed/<VIDEO_ID>?enablejsapi=1"></iframe>
...然后我可以使用以下代码通过 JS 获取已经嵌入 HTML 中的播放器:
var player;
var onYouTubeIframeAPIReady = function() {
player = new YT.Player("myVideo");
};
不过,如果有一种方法也可以用 JS 初始化 www.youtube-nocookie.com
视频,那就太好了。
我知道,这是一个迟到的答案,但可能相关,因为它仍在工作:
您可以使用 host-parameter:
function onYouTubeIframeAPIReady() {
var player = new YT.Player('player', {
videoId: 'aqz-KE-bpKQ',
host: 'https://www.youtube-nocookie.com',
playerVars: {
origin: window.location.host
}
});
}
var s = document.createElement('script');
s.src = 'https://www.youtube.com/iframe_api';
document.head.appendChild(s);
<div id="player"></div>
遗憾的是,由于 same-origin-policy.
,它在 Whosebug 上不起作用
不过,我在一个活动项目中有相同的代码 运行..
我想确保当我初始化一个 new YT.player()
时,我可以设置它以确保它使用来自 www.youtube-nocookie.com
域的嵌入。这目前可能吗?我还没有在文档中找到对它的任何引用。
啊。我正要 post 我的问题时设法解决了这个问题。
在我的代码中,我使用了类似的东西:
<iframe id="myVideo" src="https://www.youtube-nocookie.com/embed/<VIDEO_ID>?enablejsapi=1"></iframe>
...然后我可以使用以下代码通过 JS 获取已经嵌入 HTML 中的播放器:
var player;
var onYouTubeIframeAPIReady = function() {
player = new YT.Player("myVideo");
};
不过,如果有一种方法也可以用 JS 初始化 www.youtube-nocookie.com
视频,那就太好了。
我知道,这是一个迟到的答案,但可能相关,因为它仍在工作:
您可以使用 host-parameter:
function onYouTubeIframeAPIReady() {
var player = new YT.Player('player', {
videoId: 'aqz-KE-bpKQ',
host: 'https://www.youtube-nocookie.com',
playerVars: {
origin: window.location.host
}
});
}
var s = document.createElement('script');
s.src = 'https://www.youtube.com/iframe_api';
document.head.appendChild(s);
<div id="player"></div>
遗憾的是,由于 same-origin-policy.
,它在 Whosebug 上不起作用不过,我在一个活动项目中有相同的代码 运行..