Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使cookie跨子域持久化_Javascript_Cookies_Subdomain - Fatal编程技术网

Javascript 使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

我设置了一个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 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。干杯