You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让js-cookie跨带/不带WWW前缀的域名共享验证Cookie?

解决跨WWW/非WWW域名的Cookie共享问题

问题出在你当前设置的Cookie默认绑定了当前访问的具体域名(比如www.yourdomain.com),当用户切换到不带WWW的域名(yourdomain.com)时,浏览器会判定这是两个不同域名,自然读不到之前存的Cookie,导致弹窗重复出现。

修复步骤

在设置Cookie的时候,加上domain配置项,指定为你的根域名(注意前面要加.),这样所有属于这个根域名的子域名(包括WWW和非WWW)都能共享这个Cookie。

修改你的Cookie设置代码:

Cookies.set('validAge', true, {
    expires: 90,
    domain: '.yourdomain.com' // 替换成你的实际根域名,比如.example.com
});

另外,读取Cookie时也可以显式指定domain(虽然js-cookie会自动尝试匹配,但显式写出来更稳妥):

if (!Cookies.get('validAge', { domain: '.yourdomain.com' })) {
    $('.age-gate__modal').show();
}

额外提示

  • 一定要把.yourdomain.com替换成你网站的真实根域名,比如你的网站是www.myshop.com,就写.myshop.com
  • 这个配置只对同根域名的子域名生效,跨主域名(比如从example.com跳到test.com)没法共享Cookie
  • 如果你的网站已经启用HTTPS,建议加上secure: true,确保Cookie只在加密连接下传输,更安全:
Cookies.set('validAge', true, {
    expires: 90,
    domain: '.yourdomain.com',
    secure: true
});

内容的提问来源于stack exchange,提问作者Branos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 12:15:44