2010-02-24 123 views
2

我知道这个主题已经有几个线程可用,但我想要其他人对此的意见。跨域Cookie读取/设置跨浏览器

有两种方法来设置/读取跨域饼干:

  1. 创建的IFrame上A.com指向B.com上一个网页,其中创建的cookie,并通过创建另一个IFrame的传递信息B.com方指向A.com,使用window.name或位于location.href.hash
  2. A.com页面对B.com Web服务/页面进行XHR/JSONP调用,该页面包含以下标题和它也设置cookie并返回值。

的AddHeader( “P3P”, “CP = \” IDC DSP COR ADM德维戴氏PSA PSD IVAi IVDI CONI他对我们IND CNT \ “”)

由于我们没有获得所有postMessage做浏览器,我相信我们必须去处理上面提到的其中一种情况。

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

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

回答

2

看看EasyXDM。它是一个包装跨浏览器怪癖的库,它提供了一个易于使用的API,使用该浏览器的最佳可用机制(例如postMessage,如果可用,其他机制,如果不可用)在不同域之间进行客户端脚本通信。注意:您需要对两个域进行控制才能使其正常工作(其中“控制”意味着您可以在两者上放置静态文件)。

+0

感谢您的回答。我测试过调用第三方(不同域名)的java脚本,并设置cookie(在该域中),并使用回调函数返回相同的值。那效果很好。唯一需要注意的是对该第三方域名拥有P3P政策。 – 2010-05-25 19:57:52