我在页面中用window.open(url,"_blank");打开一个新的本站点URL,结果导致整站Cookie全部丢失,有的页面也是同样的代码却不会发生这样的事件。百思不得其解。
查看微软相关文章:
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q315713
却没有给出解决方法。
请大家帮忙看看!谢谢!

解决方案 »

  1.   

    the problem is due to the fact that a new internet explorer process is created, have you tried1. use window.open(url,"AnyNameOtherThanBlank");or 2. use persistent cookies instead?
      

  2.   

    saucer(思归):你的回复可以用中文吗?也好让我们这些不懂E文的初学者也跟着学点呀。
      

  3.   

    saucer(思归) 您好!我试过
    window.open(url,"myPopName");或window.open(url);
    问题依旧。我的Cookies过期日期设定的时间为2010年。只要不执行window.open就没事,所以问题应该在window.open这里。我奇怪的是微软也承认这是一个BUG存在于IE6当中,但是却没有给出解决方法。
      

  4.   

    试试showModessdialog/showModaldialog,可以吗?我也不会的.
      

  5.   

    http://support.microsoft.com/default.aspx?scid=kb;en-us;Q315713
    文章中描述的情况发生在当你在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的支持还是有很多问题啊。:-(
      

  6.   

    >>>打开一个新的本站点URL,结果导致整站Cookie全部丢失是同一个Application的么?>>>我的Cookies过期日期设定的时间为2010年试着把Cookie的Path设成"/"
      

  7.   

    TO: cuike519(Help you,Help me) 
    你是在页面里面打开页面,还是在showModessdialog打开的对话框中又打开一个页面,如果是这样,IE6此时会启动一个新的IE进程,导致新的IE进程中并没有Cookie的信息,所以在这个页面里Cookie丢失了。这是微软的一个bug目前只能尽量避免这种使用。
    -------------------------------------------------------------------------------------
    您好!不是新的IE进程中没有Cookies,而是opener中的Cookies也丢失了。
      

  8.   

    TO:saucer(思归) 
    是同一个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>");
      

  9.   

    没什么好的建议,因为好像现在IE不允许你设置新开的窗口是否与原窗口处于同一进程,但建议用下面这个工具,看一下header的传输情况http://www.blunck.info/iehttpheaders.html
      

  10.   

    不会吧?
    俺的怎么没事呢?
    俺用window.open,
    Cookie不丢失啊。
      

  11.   

    TO:eyych(庆祝神六发射成功!) 
    ----------------------------------------Sorry,现在的问题是window.open出来的页面中执行
    <script>if(opener!=null){opener.location.href=opener.location.href;} window.close();</script>
    这段JS才会导致Cookies丢失。
      

  12.   

    <script>if(opener!=null){opener.location.href=opener.location.href;} window.close();</script>
    _________________
    换种写法,你是想关闭父窗口吗
      

  13.   

    TO:goody9807() 
    换种写法,你是想关闭父窗口吗
    ---------------------您好!
    我不是想关闭父窗口,只是关闭当前窗口,刷新父窗口的数据。我想有可能都不关这些的事,因为我用思归大哥提供的工具查看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 );
      

  14.   

    不好意思!
    经检查发现是我的一时疏忽,一不小心将取Cookie值的地方写错了导致Cookie丢失,浪费了大家这么多时间!(大红脸)原来是我在取Cookie值操作时将
    string _UserID = Request.Cookies["UserID"].Value;
    写成了
    string _UserID = Response.Cookies["UserID"].Value;
    导致Cookies["UserID"]丢失了。
      

  15.   

    你的问题可能是在站点隐私策略造成的
    你测试下,把浏览请的“隐私”保护调整到最低是否可以解决问题如果你出现这个问题,一般是因为打开弹窗的页面被嵌入在其他程序、域名的页面中,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
      

  16.   

    例外 Hander里面也要加一个:p3p: policyref="/w3c/p3p.xml", CP="NOI DSP LAW NID PSA ADM OUR IND NAV"一般都在IIS里面设置: "站点属性"--"HTTP 头"--添加
    上面文件有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
      

  17.   

    faint! i made same mistake, wasted a mass of time.