当前位置:  开发笔记 > 编程语言 > 正文

使用javascript或其他方法在不同的域上设置cookie

如何解决《使用javascript或其他方法在不同的域上设置cookie》经验,为你挑选了1个好方法。

一直无法在网上找到这种情况特别的东西所以我去...我需要在浏览"second.com"时设置/获取存储在"first.com"的cookie,我有完全访问权限" .com"但我只能在"second.com"上访问javascript(可以操作我想要的DOM).

我的第一个方法是在second.com上创建一个iframe(使用js),加载一个像"first.com/doAjax?setCookie=xxx"这样的页面,然后执行一个ajax调用来说"first.com/setCookie?cookieData=xxx" "这将使用我们传递的数据在"first.com"上设置cookie.

这对于在first.com上设置cookie来说非常合适 - 来自second.com - 为了获得一个cookie我基本上遵循相同的程序,创建了加载"first.com/doAjax?getCookie"的iframe,这将进行ajax调用说"first.com/getCookie",它将读取first.com上的cookie信息并将其作为JSON对象返回.

问题是我无法将该JSON cookie对象带回"second.com",所以我可以读取它,也许我可以在使用"window.top"完成Ajax调用时将其带来,但是有时间问题因为它与iframe加载时无关.我希望我很清楚,并且想知道是否有一个更容易的解决方案,而不是这个疯狂的iframe-> ajax垃圾,似乎这甚至不能用于在SAFARI获取cookie.



1> Ryan Doherty..:

您可以使用回调将脚本元素注入到文档的HEAD中,该回调将您需要的cookie传递给任何需要它的函数.

就像是:

 

页面first.com/doAjax?getCookie可以这样做:

     passCookie({'name':'mycookie', 'value':'myvalue'});


显然这种方法只适用于Firefox,我在Safari和IE6中测试过,两者似乎都无法设置/获取cookie ...
推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有