Javascript 使cookie跨子域持久化
我设置了一个cookie:Javascript 使cookie跨子域持久化,javascript,cookies,subdomain,Javascript,Cookies,Subdomain,我设置了一个cookie: <script> document.cookie="cid1={{utm_campaign}}; path=/;" </script> document.cookie=“cid1={{utm_campaign}};path=/;” {{}是一个宏,是Google标记管理器语法,请忽略它 每当有人使用这样的标记登录example.com时,就会触发上面的脚本:example.com/?utm\u medium=test&utm\u so
<script>
document.cookie="cid1={{utm_campaign}}; path=/;"
</script>
document.cookie=“cid1={{utm_campaign}};path=/;”
{{}是一个宏,是Google标记管理器语法,请忽略它
每当有人使用这样的标记登录example.com时,就会触发上面的脚本:example.com/?utm\u medium=test&utm\u source=bla&utm\u campaign=foo。我测试了它,果然,当我用这些参数登陆主页时,cookie被设置好了
但是访问者可以移动到子域名dogs.example.com。当我在控制台中查看时,cookie cid1不再存在
在创建cookie时,除了将路径设置为“/”以便cookie跨到子域之外,还有其他设置可以更改吗?域应该类似于.example.com,以便*.example.com可以访问它
var website_host = window.location.hostname.replace('www.', '');
document.cookie = "cid1={{utm_campaign}}; path=/;domain=."+website_host
// to be something like this"cid1={{utm_campaign}}; path=/;domain=.example.com"
您缺少此的域参数。将domain设置为
.example.com
,使其可从.example.com
中的所有页面访问
<script>
document.cookie="cid1={{utm_campaign}}; path=/; domain=.example.com"
</script>
document.cookie=“cid1={{utm_campaign}};path=/;domain=.example.com”
此处重复:
);域=域(例如,'example.com','example.com'(包括所有
子域),“subdomain.example.com”)如果未指定,则默认为
当前文档位置的主机部分
完整文档:谢谢您的回答,这真的很简单。我确实先搜索了Google和Stack Overflow,但像这样的小步骤没有结果,只有更高级的cookie用法。简短地接受感谢你的回答,只是因为时间的关系才接受@mohamed's。干杯