我在页面中用window.open(url,"_blank");打开一个新的本站点URL,结果导致整站Cookie全部丢失,有的页面也是同样的代码却不会发生这样的事件。百思不得其解。
查看微软相关文章:
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q315713
却没有给出解决方法。
请大家帮忙看看!谢谢!
查看微软相关文章:
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q315713
却没有给出解决方法。
请大家帮忙看看!谢谢!
window.open(url,"myPopName");或window.open(url);
问题依旧。我的Cookies过期日期设定的时间为2010年。只要不执行window.open就没事,所以问题应该在window.open这里。我奇怪的是微软也承认这是一个BUG存在于IE6当中,但是却没有给出解决方法。
文章中描述的情况发生在当你在IE6中使用open打开一个File://类型的链接,比如:
window.open("file://c:/text.txt",_blank);时才出现。你的问题好象和这个没有关系,我记得曾经在微软的网站上看到一个在IE6中使用Iframe的时使用window.open的页面可能会导致丢失Cookie。地址记不起来了,你去微软的support上面找找吧。你是在页面里面打开页面,还是在showModessdialog打开的对话框中又打开一个页面,如果是这样,IE6此时会启动一个新的IE进程,导致新的IE进程中并没有Cookie的信息,所以在这个页面里Cookie丢失了。这是微软的一个bug目前只能尽量避免这种使用。看来IE6对Cookie的支持还是有很多问题啊。:-(
你是在页面里面打开页面,还是在showModessdialog打开的对话框中又打开一个页面,如果是这样,IE6此时会启动一个新的IE进程,导致新的IE进程中并没有Cookie的信息,所以在这个页面里Cookie丢失了。这是微软的一个bug目前只能尽量避免这种使用。
-------------------------------------------------------------------------------------
您好!不是新的IE进程中没有Cookies,而是opener中的Cookies也丢失了。
是同一个Application的么?
--------------------------------------
是同一个虚拟目录。试着把Cookie的Path设成"/"
--------------------------------------
我设了。
今天早上执行了一下Windows Update,发现window.open已不会丢失Cookies了,不过在open的页面中执行下面的JS后还是会令到虚拟目录中的Cookies丢失。
Response.Write("<script>if(opener!=null){opener.location.href=opener.location.href;} window.close();</script>");
俺的怎么没事呢?
俺用window.open,
Cookie不丢失啊。
----------------------------------------Sorry,现在的问题是window.open出来的页面中执行
<script>if(opener!=null){opener.location.href=opener.location.href;} window.close();</script>
这段JS才会导致Cookies丢失。
_________________
换种写法,你是想关闭父窗口吗
换种写法,你是想关闭父窗口吗
---------------------您好!
我不是想关闭父窗口,只是关闭当前窗口,刷新父窗口的数据。我想有可能都不关这些的事,因为我用思归大哥提供的工具查看Cookies,结果发现在执行上面的JS后竟然只丢失了一个Cookies,faint!下面是Cookie的情况:
Cookie: UserID=; UserName=lucky;而这两个Cookie我都是用一样的方法设定的,而且没有将Cookie设为“”的地方。
Response.Cookies["UserID"].Path = "/";
Response.Cookies["UserID"].Value = UserID;
Response.Cookies["UserID"].Expires = new DateTime(2010,1,1 );
Response.Cookies["Username"].Path = "/";
Response.Cookies["UserName"].Value = UserName;
Response.Cookies["UserName"].Expires = new DateTime(2010,1,1 );
经检查发现是我的一时疏忽,一不小心将取Cookie值的地方写错了导致Cookie丢失,浪费了大家这么多时间!(大红脸)原来是我在取Cookie值操作时将
string _UserID = Request.Cookies["UserID"].Value;
写成了
string _UserID = Response.Cookies["UserID"].Value;
导致Cookies["UserID"]丢失了。
你测试下,把浏览请的“隐私”保护调整到最低是否可以解决问题如果你出现这个问题,一般是因为打开弹窗的页面被嵌入在其他程序、域名的页面中,IE6认为你的站点cookie是第三方cookie而拒绝,新开的窗口当然不能使用cookie了。解决这个问题,你需要在服务器上设置“站点信任策略”:实际上就是一个XML文件,放在响应Hander里面p3p.xml <?xml version="1.0" ?>
<META xmlns="http://www.w3.org/2000/12/P3Pv1">
<POLICY-REFERENCES>
<POLICY-REF about="/w3c/p3ppolicy.xml">
<INCLUDE>/*</INCLUDE>
</POLICY-REF>
</POLICY-REFERENCES>
</META>
p3ppolicy.xml<?xml version="1.0" encoding="GB2312"?>
<POLICY xmlns="http://www.w3.org/2000/12/P3Pv1">
<ENTITY>
<DATA-GROUP>
<DATA ref="#business.name">深圳市星空信息技术有限公司</DATA>
<DATA ref="#business.contact-info.online.uri">http://www.353.com/</DATA>
</DATA-GROUP>
</ENTITY>
<ACCESS><nonident/></ACCESS>
<DISPUTES-GROUP>
<DISPUTES resolution-type="independent" service="http://www.truste.org/users/watchdog.html" verification="Truste" short-description="TRUSTe Certification">
<LONG-DESCRIPTION>Microsoft is a premier sponsor of TRUSTe and a member of the TRUSTe privacy program, an independent, non-profit initiative whose mission is to build users' trust and confidence in the Internet by promoting TRUSTe's principles of fair information practices.</LONG-DESCRIPTION>
<IMG src="/w3c/Truste.gif" width="91" height="73" alt="TRUSTe: Click to Verify"/>
<REMEDIES>
<correct/>
</REMEDIES>
</DISPUTES>
</DISPUTES-GROUP>
<STATEMENT>
<CONSEQUENCE>Cookies are used to track visitors to our site, so we can better understand what portions of our site best serve you.</CONSEQUENCE>
<PURPOSE><admin/><develop/></PURPOSE>
<RECIPIENT><ours/></RECIPIENT>
<RETENTION><stated-purpose/></RETENTION>
<DATA-GROUP>
<DATA ref="#dynamic.cookies" optional="yes"><CATEGORIES><state/></CATEGORIES></DATA>
</DATA-GROUP>
</STATEMENT>
</POLICY>====CSDN 小助手 V2.0 2005年10月16日发布====
CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/10/16/504620.aspx
下载:http://szlawbook.com/csdnv2/csdnv2.rar
上面文件有3处可以动态设置:公司名 公司站点 logo <DATA ref="#business.name">深圳市星空信息技术有限公司</DATA>
<DATA ref="#business.contact-info.online.uri">http://www.353.com/</DATA>
<IMG src="/w3c/Truste.gif" width="91" height="73" alt="TRUSTe: Click to Verify"/> ====CSDN 小助手 V2.0 2005年10月16日发布====
CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/10/16/504620.aspx
下载:http://szlawbook.com/csdnv2/csdnv2.rar