第三方脚本设置第一方cookie

时间:2018-06-05 13:37:09

标签: javascript cookies browser

我正在通过Google跟踪代码管理器中的代码加载第三方js文件/脚本。

此脚本需要从自己的域中设置cookie,但是所有cookie都被设置为主机域的第一方,这意味着它们不会被转移到服务器。

我也正在开发第三方脚本,因此可以直接访问它,目前该脚本中用于编写cookie的代码基于:

const host = (window && window.location && window.location.hostname) || '';
const parts = host.split('.');
const COOKIE_DOMAIN = parts.length > 1 ? `;domain=.${parts.slice(-2).join('.')}` : '';

我认为这可能会从原点获取Cookie,但会将其设置为主机。

我试图将COOKIE_DOMAIN更改并硬编码到我的服务器地址,但这似乎不起作用,即没有设置cookie。

编辑:从标题中删除对标记管理器的引用,因为它没有过多的相关性。

更新:所以当我从第三方服务器加载脚本标签时,它似乎基本上成为第一方 - 这使得很难从原始域设置cookie。

1 个答案:

答案 0 :(得分:2)

在页面中运行的JavaScript无法为其他域设置Cookie。 document.cookie是指当前页面的Cookie。

如果要为其他域设置Cookie,则必须使用HTTP标头(例如,当远程域提供.js文件时)。