一直无法在网上找到这种情况特别的东西所以我去...我需要在浏览"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.
您可以使用回调将脚本元素注入到文档的HEAD中,该回调将您需要的cookie传递给任何需要它的函数.
就像是:
页面first.com/doAjax?getCookie可以这样做:
passCookie({'name':'mycookie', 'value':'myvalue'});