我在example.com上有用户偏好(颜色,区域设置),我想迁移到example2.com
我想知道我是否可以使用AJAX或隐藏的iFrame将来自example.com的cookie信息传递给example2.com,然后example2.com将在example2.com上设置另一个具有相同信息的cookie。
我知道我可以通过URL字符串和重定向轻松完成此操作,但我希望在后台尽可能实现此目的 - 无重定向 - 并且需要在主要浏览器上工作(IE6 +,FF1.5 + ,Safari,Opera)
点是这个cookie信息不安全所以那里没有风险。
答案 0 :(得分:2)
这取决于初学者的浏览器设置,如果浏览器配置为拒绝第三方Cookie,则表示运气不佳。
假设您控制example.com,并且cookie不是仅HTTP的cookie,您可以添加脚本。该脚本将写出指向example2.com上的脚本的img标记,其中document.cookies作为参数。在脚本中写出1x1透明gif并将cookie从示例附加到响应,解析参数字符串以提取cookie名称/值对。
答案 1 :(得分:1)
在example.com上设置路径,生成包含传入的cookie的javascript文件。让我们说它是example.com/get_cookie.js
然后你可以从example2.com到example.com/get_cookie.js进行ajax调用以获取这些cookie,并将它们保存在example2.com下。
由于它是跨域的,你不能使用XHR(XmlHttpRequest),而是将get_cookie.js作为javascript节点附加,并且javascript文件必须调用回调来传递数据。
所以get_cookie.js看起来像是:
return_data( 'here is my example.com cookie info' );
答案 2 :(得分:0)
您需要制作服务器到服务器的XMLHTTP请求,并让第二台服务器重新创建Cookie。你无法“传递”它们。
答案 3 :(得分:0)
您是否考虑使用Flash Cookie存储这些偏好设置?所有主流浏览器的工作都包括chrome。