跨域cookie读取/设置跨浏览器

时间:2010-02-24 18:30:36

标签: cross-browser cross-domain

我知道这个主题已经有一些线索,但我希望其他人对此有所了解。

设置/读取跨域cookie有两种方法:

  1. 在A.com上创建指向B.com上的页面的IFrame,该页面创建cookie并通过在指向A.com的B.com端创建另一个IFrame来传递该信息,使用window.name或location.href .hash
  2. A.com页面对具有以下标题的B.com Web服务/页面进行XHR / JSONP调用,并且还设置cookie并返回值。
  3. AddHeader(“p3p”,“CP = \”IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT \“”)

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

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

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

1 个答案:

答案 0 :(得分:2)

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

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