在子域名 - a.test.com上 - 我正在尝试阅读.test.com上设置的Cookie。如果我在JS中使用document.cookie,我所得到的只是来自a.test.com的cookie。从.test.com读取cookie的语法或途径是什么?
我很确定你可以阅读 - 从子域到fqdn - 但你不能读下来 - fqdn到子域。
谢谢!
答案 0 :(得分:9)
在 test.com example.com上设置cookie时,请确保将cookie域指定为“。test.com”“。example.com”
例如:
your_key_name=your_key_value;domain=.example.com;expires=...
答案 1 :(得分:1)
我需要使用 cookie 将 Shopify 变量传递给子域,并且我能够在结束 </body>
标记之前添加此 Javascript:
<script>
var nowCart = new Date();
var timeCart = nowCart.getTime();
var expireTimeCart = timeCart + 1000*36000;
nowCart.setTime(expireTimeCart); // " + nowCart.toUTCString() + "
document.cookie = "_count={{ cart.item_count }};domain=.example.com;expires=;SameSite=none;Secure=true";
</script>
在域之前使用 .
允许从域以及任何其他子域读取 cookie。反之亦然。
在子域的关闭 </body>
标记之前,这是我用来读取 cookie 并对其进行处理的 Javascript:
<script>
function getCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
var cookie_name = getCookie('_count');
var cartCount = document.getElementById('_count');
cartCount.innerHTML=cookie_name;
</script>