如何在使用YouTube IFrame Player API和从 www.youtube-nocookie.com 域播放的增强模式视频时禁用在youtube.com上设置的cookie?
在https://support.google.com/youtube/answer/171780?hl=en中的“打开隐私增强模式”部分,建议使用www.youtube-nocookie.com域来:
嵌入YouTube视频,而不使用跟踪查看行为的cookie。
这样做的效果很好,并且没有像预期的那样设置cookie。
但是,我们使用IFrame Player API (在嵌入params上使用enablejsapi=1 )来设置cookies。我们看到在.youtube.com域中设置了以下cookie:
从api接口上的Iframe脚本中将这些设置为HTTP (打开一个Chrome窗口并直接查看该脚本URL并检查cookies,您将看到上面的两个cookie集)。我不知道这些饼干到底是什么,但它们看起来很像跟踪饼干。
因此,这些设置是在用户与视频交互或采取任何同意的操作之前设置的,这意味着当涉及到欧盟cookie指令时,我们不能在仍然遵循IFrame Player API的情况下使用GDPR。
所以问题是,如果没有设置cookie,如何使用IFrame Player API?
注意:我贴了这个标签youtube-iframe-api,希望Google回复如下:
我们支持堆栈溢出的YouTube IFrame API。谷歌工程师使用youtube-iframe-api标签监控并回答问题。
发布于 2020-10-05 08:22:30
我也遇到了类似的问题,决定尝试使用这个脚本。然而,到目前为止,从他们的文档中似乎还不清楚如何在没有任何cookie的情况下实现这一点。只需将api接口替换为api接口,就会导致404错误。
基于这,我尝试了以下内容。此代码以编程方式创建视频播放器,并将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/
因此,无论您做什么,在使用YouTube player API和JavaScript控件时,您将至少得到一个cookie。不幸的是,目前似乎还没有一个理想的解决方案。
https://stackoverflow.com/questions/63792338
复制相似问题