在关闭IE浏览器窗口时Cookie被清除
问题描述:
我在我的应用程序中使用了Cookie插件。我在哪里显示来自cookie的一些信息。 它与Firefox正常工作,但与IE浏览器有一些问题。 它工作正常,如果我在IE中打开一个新的标签,它显示cookie的值,但如果我关闭IE浏览器窗口它清除所有的cookie。 这不是与mozilla的情况下,每次我打开mozilla它显示cookie的这些特定值。以下是我用来设置/获取Cookie的代码。在关闭IE浏览器窗口时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/>
答
您没有设置过期时间,默认情况下,Cookie应在浏览器关闭时过期。我不知道为什么Mozilla 不是这样做是真正的错误。
尝试:
$.cookie(COOKIE_NAME, VALUE, { expires: 10 }); /* Expires in 10 days */
答
Cookie是易失性的 - 取决于浏览器设置,它们可能在浏览器关闭时被清除。您可以设置Firefox来执行此操作,因此它不是唯一的Internet Explorer。但是,您可能会发现为Cookie设置较长的到期时间以便让浏览器保留它们的好处。
如果您想保留信息,您需要在服务器上的数据库中执行此操作,因为您知道它不会被清除!
谢谢你,亲爱的,它的工作。 – azazi 2010-06-30 08:59:36