将 YouTube IFrame Player API 与从 www.youtube-nocookie.com 播放的隐私增强模式视频一起使用时,如何禁用在 youtube.com 上设置的 cookie领域?
在 https://support.google.com/youtube/answer/171780?hl=en 中的“开启隐私增强模式”部分,建议使用 www.youtube-nocookie.com域到:
embed YouTube videos without using cookies that track viewing behavior.
这很有效,并且不会按预期设置 cookie。
但是,我们使用 IFrame Player API(在嵌入参数上使用
enablejsapi=1
)来设置 cookie。我们看到在 .youtube.com 域上设置了以下 cookie:这些从位于 https://www.youtube.com/iframe_api 的 Iframe Player API 脚本中设置为 HTTP cookie。 (打开 Chrome 隐身窗口并直接查看该脚本 URL 并检查 cookie,您将看到上述 2 个 cookie 集)。我不确定这些 cookie 到底是什么,但它们看起来很像跟踪 cookie。
因此,这些是在用户与视频交互或采取任何同意操作之前设置的事实,意味着我们无法使用 IFrame 播放器 API,同时在涉及欧盟 cookie 指令时仍符合 GDPR。
所以问题是,我们如何在不设置 cookie 的情况下使用 IFrame Player API?
注意:我已经用标签 youtube-iframe-api 发布了这篇文章,希望谷歌能回答这个问题:
We support the YouTube IFrame API on Stack Overflow. Google engineers monitor and answer questions with the youtube-iframe-api tag.
(来自 https://developers.google.com/youtube/players/support)
最佳答案
我有一个类似的问题,并决定尝试使用这个 script反而。但是,到目前为止,从他们的文档中似乎不清楚如何在没有任何 cookie 的情况下实现这一目标。只需更换 https://www.youtube.com/iframe_api与 https://www.youtube-nocookie.com/iframe_api导致 404 错误。
基于 this ,我尝试了以下。此代码以编程方式创建视频播放器并设置 https://www.youtube-nocookie.com作为主持人。它确实加载了视频,如果您检查它,您会看到最初没有创建 cookie;但是如果你开始播放视频,https://www.youtube-nocookie.com设置一个名为 NID 的 cookie。在设置 cookie 方面,这与使用 www.youtube.com 通过 iframe 加载视频的结果相同。 .
<div id="js-player"></div>
<script src="https://www.youtube.com/player_api"></script>
window.onYouTubePlayerAPIReady = function() {
new YT.Player(document.getElementById("js-player"), {
height: '315',
width: '560',
host: 'https://www.youtube-nocookie.com',
videoId: 'M7lc1UVf-VE'
})
};
https://jsfiddle.net/c9Lbksx6/因此,无论您做什么,在使用带有 JavaScript 控件的 YouTube 播放器 API 时,您最终都会得到至少 1 个 cookie。不幸的是,目前似乎没有一个理想的解决方案。
关于cookies - 在 youtube-nocookie.com 域中使用 YouTube IFrame Player API 脚本时禁用 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63792338/