【问题标题】:Cross domain cookie reading/setting cross browsers跨域cookie读取/设置跨浏览器
【发布时间】:2011-01-20 16:07:05
【问题描述】:

我知道这里已经有一些关于这个主题的主题,但我希望其他人对此发表意见。

有两种方法可以设置/读取跨域cookies:

  1. 在 A.com 上创建指向 B.com 上的页面的 IFrame,该页面创建 cookie 并通过在 B.com 端创建另一个指向 A.com 的 IFrame(使用 window.name 或在 location.href 中)来传递该信息.hash
  2. A.com 页面对具有以下标头的 B.com Web 服务/页面进行 XHR/JSONP 调用,它还设置 cookie 并返回值。

AddHeader("p3p", "CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"")

由于我们没有在所有浏览器中都提供postMessage,我相信我们必须采用上述情况之一。

我的问题是哪种方法更好(更清洁)以及为什么要为跨浏览器实现。使用任何其他 JS 框架超出了本次讨论的范围。如果有其他更好的方法,请在此处提及!

提前感谢您的智能输入! :)

【问题讨论】:

    标签: cross-browser cross-domain


    【解决方案1】:

    看看EasyXDM。它是一个包含跨浏览器怪癖的库,并提供了一个易于使用的 API,用于使用该浏览器的最佳可用机制在不同域之间的客户端脚本中进行通信(例如,postMessage 如果可用,其他机制如果不可用)。

    警告:您需要控制两个域才能使其正常工作(其中“控制”意味着您可以在两个域上都放置静态文件)。

    【讨论】:

    • 感谢您的回答。我已经测试过调用第三方(不同域)java 脚本并设置 cookie(在该域上)并使用回调函数返回相同的值。而且效果很好。唯一需要注意的是在该第三方域上具有 P3P 策略。
    猜你喜欢
    • 1970-01-01
    • 2014-06-25
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    • 2017-10-06
    • 2012-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多