如何使用javascript检测Safari 13上的防止跨站点跟踪是否处于活动状态

Ber*_*zel 11 javascript cookies safari

我试图找到一种解决方法,以便在用户的浏览器上禁用跨站点跟踪时向用户显示警告弹出窗口。在 Safari 13 默认禁用它之后,这变得必不可少。我相信这可能对您在 iframe 上使用 cookie 的人有所帮助。

有一些方法比如

检查是否启用了第三方 cookie

https://gist.github.com/iansltx/18caf551baaa60b79206

试图通过使用不同的方法绕过此安全功能,其中一些不再有效。

基本上我尝试实现的是从 iframe,尝试使用 javascript 在浏览器上检测是否启用了防止跨站点跟踪。

  if (evt.data === 'MM:3PCunsupported') {
    document.getElementById('result').innerHTML = 'not supported';
  } else if (evt.data === 'MM:3PCsupported') {
    document.getElementById('result').innerHTML = 'supported';
  }
};
window.addEventListener("message", receiveMessage, false);
Run Code Online (Sandbox Code Playgroud)

此解决方案似乎不再有效。

最好的事物

小智 0

您可以尝试在您的网站上使用 Google Analytics(分析)并添加代码来检测它是否加载。如果未加载,则跟踪器拦截器可能处于活动状态。

\n

例子:

\n
<script>\nvar active;\n</script>\n<script src="https://googletagmanager.com/\xe2\x80\xa6" onerror="active = 1;"></script>\n<script>\nif (active !== 1) {\nalert(\'Prevent cross site tracking is disabled\');\n} else {\nalert("Ok")\n}\n</script>\n
Run Code Online (Sandbox Code Playgroud)\n