使 cookie 跨子域持久化
make cookie persist across subdomain
我设置了一个cookie:
<script>
document.cookie="cid1={{utm_campaign}}; path=/;"
</script>
{{}}是一个宏,是Google-Tag-Manager语法,请忽略。
只要有人使用如下标签登陆 example.com,就会触发上面的脚本:example.com/?utm_medium=test&utm_source=bla&utm_campaign=富。我对其进行了测试,果然,当我使用这些参数登陆主页时,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"
您为此缺少域参数。将域设置为 .example.com
以使其可从 .example.com
.
中的所有页面访问
<script>
document.cookie="cid1={{utm_campaign}}; path=/; domain=.example.com"
</script>
此处重复:setting cross-subdomain cookie with javascript
;domain=domain (e.g., 'example.com', '.example.com' (includes all
subdomains), 'subdomain.example.com') If not specified, defaults to
the host portion of the current document location.
完整文档:https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie
我设置了一个cookie:
<script>
document.cookie="cid1={{utm_campaign}}; path=/;"
</script>
{{}}是一个宏,是Google-Tag-Manager语法,请忽略。
只要有人使用如下标签登陆 example.com,就会触发上面的脚本:example.com/?utm_medium=test&utm_source=bla&utm_campaign=富。我对其进行了测试,果然,当我使用这些参数登陆主页时,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"
您为此缺少域参数。将域设置为 .example.com
以使其可从 .example.com
.
<script>
document.cookie="cid1={{utm_campaign}}; path=/; domain=.example.com"
</script>
此处重复:setting cross-subdomain cookie with javascript
;domain=domain (e.g., 'example.com', '.example.com' (includes all subdomains), 'subdomain.example.com') If not specified, defaults to the host portion of the current document location.
完整文档:https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie