【问题标题】:Setting cookie for different domain from javascript为与 javascript 不同的域设置 cookie
【发布时间】:2023-03-25 17:43:01
【问题描述】:

我正在尝试将 cookie 设置为与 js 文件的 src 相同的域。

场景: 在 www.xyz.com html 中,我已经包含了来自 qwe.com 的 js 文件,如下所示

<script type="application/javascript" src="http://qwe.com/b.js"></script>

从这个 b.js,我想创建域设置为 .qwe.com 的 cookie。我正在使用以下功能设置 cookie

function createCookie(name, value, days) {
    if (days) {
      var date = new Date();
      date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
      var expires = "; expires=" + date.toGMTString();
    } else {
      var expires = "";
    }
    document.cookie = name+"="+value+expires+";domain=.qwe.com"+"; path=/;";
  }

使用上面的代码我无法设置 cookie。 示例:www.flipkart.com-> 在开发者控制台的资源选项卡中检查 cookie-> .scorecardresearch.com 和 .doubleclick.net 可以设置 cookie

我也想这样做。有人可以为此分享解决方案吗?真正的工作解决方案。我通过谷歌搜索尝试了多种解决方案。没用。

【问题讨论】:

    标签: javascript cookies


    【解决方案1】:

    客户端 JavaScript 只能为网页所在的域设置 cookie。

    您引用的示例使用 HTTP headers to set cookies,而不是 JavaScript。

    【讨论】:

    • 嘿昆汀,感谢您的参考。我是一个非常早期的初学者。你能解释一下吗?如何使用 HTTP 标头设置 cookie 来完成它?我检查了关于 HTTP 标头 link 的另一个答案。似乎无法用它来完成。请帮忙澄清一下。
    • 如何设置 HTTP 标头取决于您在服务器上使用的服务器端语言。该链接是关于为不同域设置标头的,您不会尝试这样做:脚本来自 example.com,cookie 为 example.com 设置。
    • 知道了!感谢您的意见!
    猜你喜欢
    • 1970-01-01
    • 2020-03-04
    • 2020-01-04
    • 2018-09-30
    • 2012-04-21
    • 2011-01-08
    • 2021-07-27
    • 2015-02-07
    • 2020-03-27
    相关资源
    最近更新 更多