【问题标题】:How to create cookie with external domain?如何使用外部域创建 cookie?
【发布时间】:2015-01-13 07:47:35
【问题描述】:

我创建了一个javascript 脚本,人们可以通过粘贴像 Facebook 这样的小代码异步加载到他们的网站,当我们想要集成他们的javascript SDK 时,Google 会这样做。从我的脚本中,我想创建一个我的域为 Facebook 的 cookie,谷歌使用他们的域创建一个 cookie。我正在尝试通过 little framework given by Mozilla 创建带有域的 cookie。

docCookies.setItem('cookie1', 'some value',Infinity, '/', '.example.com');

“.example.com”是我的域名,我在其中拥有人们加载到他们网站的脚本。我正在尝试在加载我的脚本的任何域中创建该 cookie。但它不起作用,到目前为止还没有设置 cookie。如何使用我的域从该脚本创建一个 cookie 到其他域?

[抱歉我的英语不好。]

【问题讨论】:

    标签: javascript cookies cross-domain


    【解决方案1】:

    可能是解释:

    如果我理解正确,您的脚本是从 www.example.com 加载的,但被其他域上的网站使用,比如 www.someotherdomain.com。

    如果您创建一个 cookie 并尝试在 from www.someotherdomain.com to www.example.com 的请求中使用此 cookie,浏览器将认为这是第三方 cookie。该 cookie 是第三方 cookie,因为您 的域 (www.someotherdomain.com) 与请求发送到的域 (www.example.com) 不同。 com)。

    多个浏览器会阻止第三方 cookie,因此 cookie 不会包含在对 www.example.com 的请求中。

    您无法阻止浏览器阻止第三方 cookie,您必须寻找替代技术。

    【讨论】:

    • 感谢您的信息,现在我明白了。但是有什么替代技术呢?我看到 facebook,google 可以放置他们的第三方 cookie,所以应该有一些机制来设置这些 cookie。
    • 取决于你想要做什么。我遇到了类似的问题,我的解决方案是不使用 cookie(请参阅此处404it.no/en/blog/javascript_cross-domain_request_with_session)如果您在多个域中跟踪相同的 cookie,上述解决方案将不起作用。
    • 就我而言,我不能使用 sessionStorage/localStorage 等。
    猜你喜欢
    • 2011-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-13
    • 1970-01-01
    • 2011-05-29
    • 2023-02-24
    • 2018-11-07
    相关资源
    最近更新 更多