在IE中关闭浏览器窗口时,Cookie会被清除

时间:2010-06-30 07:11:56

标签: cookies internet-explorer

我在我的应用程序中使用cookie插件。我在哪里显示cookie的一些信息。 它与firefox工作正常,但IE有一些问题。 它工作正常如果我在IE中打开一个新选项卡,它显示来自cookie的值,但如果我关闭IE浏览器窗口它清除所有cookie。 这不是mozilla的情况,每次我打开mozilla时它会显示来自cookie的特定值。 下面是我用来设置/获取cookie的代码。

function setCookies(){<br/>      
   if($('select[id$="ddlFromStation"]')[0].selectedIndex!=0){<br/>
      $.cookie('d_from',$('select[id$="ddlFromStation"]').val());<br/>
   }<br/>
   if($('select[id$="ddlToStation"]')[0].selectedIndex!=0){<br/>
      $.cookie('d_to',$('select[id$="ddlToStation"]').val());<br/>
   }<br/>
   if($('input[id$="txtFromStation"]').val()!=""){<br/>
      $.cookie('i_from',$('input[id$="txtFromStation"]').val());<br/>
   }<br/>
   if($('input[id$="txtToStation"]').val()!=""){<br/>
      $.cookie('i_to',$('input[id$="txtToStation"]').val());<br/>
   }<br/>
   return true;<br/>
}<br/>
$(document).ready(function(){<br/>
 if($.cookie('d_from')!=null){<br/>
    $('select[id$="ddlFromStation"]').val($.cookie('d_from'))<br/>
 }<br/>
 if($.cookie('d_to')!=null){<br/>
    $('select[id$="ddlToStation"]').val($.cookie('d_to'))<br/>
 }<br/>
 if($.cookie('i_from')!=null){<br/>
    $('input[id$="txtFromStation"]').val($.cookie('i_from'))<br/>
 }<br/>
 if($.cookie('i_to')!=null){<br/>
    $('input[id$="txtToStation"]').val($.cookie('i_to'))<br/>
 }<br/>
}); <br/>

2 个答案:

答案 0 :(得分:1)

您没有设置到期日期,默认情况下Cookie会在浏览器关闭时到期。我不确定为什么Mozilla 这样做是真正的错误。

尝试:

$.cookie(COOKIE_NAME, VALUE, { expires: 10 }); /* Expires in 10 days */

答案 1 :(得分:0)

Cookie易失性 - 根据浏览器设置,它们可能会在浏览器关闭时被清除。您可以设置Firefox来执行此操作,因此它不是Internet Explorer独有的。但是,您可能会发现在cookie上设置一个长期到期有一些好处,要求浏览器保留它们。

如果您想保留信息,则需要在服务器上的数据库中执行此操作,因为您知道它不会被清除!