在使用YouTube iframe API时强制使用nocookie模式

时间:2019-05-20 16:56:34

标签: youtube-iframe-api

我想确保在初始化new YT.player()时可以对其进行设置,以确保它使用来自www.youtube-nocookie.com域的嵌入。目前可以吗?我尚未在文档中找到对此的任何引用。

2 个答案:

答案 0 :(得分:2)

我知道,这是一个较晚的答案,但可能仍然有用,因为它仍在起作用:

您可以使用主机参数:

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>

可悲的是,由于同源策略,它在stackoverflow上不起作用。

不过,我在一个活动项目中运行的是相同的代码。

答案 1 :(得分:0)

啊。正当我要发布问题时,我设法解决了这个问题。

在我的代码中,我使用类似的东西:

<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视频,那就太好了。