假设我有两个应用程序,www.test.com和sub.test.com,现在在sub.test.com中,我创建了一个窗口来加载www.test.com,代码如下:
window.open('www.test.com');
因此,该窗口只需弹出并成功加载www.test.com。
然后,我在sub.test.com,say "uname=wong2;domain=.test.com",中设置了一个cookie --我了解到,在设置为domain=.test.com
时,所有具有域test.com(such的站点(如www.test.com,aaa.test.com,test.com)都可以读取该cookie。
但是当我试图从www.test.com,弹出的窗口加载cookie时,它无法得到它。
然后我发现,如果我不使用window.open,而是在浏览器中直接打开,它就能工作。
那么,对window.open和cookie是否有一些限制?
发布于 2011-04-18 12:49:40
只需检查一下如何设置cookie:
var domain = 'test.com';
var expires = (function(days){
date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
return date.toUTCString();
})(5);
var name = 'myCookie';
var path = '/';
var value = 'foo';
document.cookie = name + "=" + encodeURIComponent(value) + "; expires=" + expires + "; path='" + path + "'; domain=" + domain + ";";
发布于 2011-04-18 12:37:32
这称为跨域,您不能在一个域中设置cookie并尝试访问不同域中的cookie。浏览器不允许这样做。,我认为您可以使用iframe或相同的来源策略来完成,或者尝试使用document.domain,我不知道您到底想要做什么。
https://stackoverflow.com/questions/5702855
复制相似问题