我在我的应用程序中使用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/>
答案 0 :(得分:1)
您没有设置到期日期,默认情况下Cookie会在浏览器关闭时到期。我不确定为什么Mozilla 不这样做是真正的错误。
尝试:
$.cookie(COOKIE_NAME, VALUE, { expires: 10 }); /* Expires in 10 days */
答案 1 :(得分:0)
Cookie易失性 - 根据浏览器设置,它们可能会在浏览器关闭时被清除。您可以设置Firefox来执行此操作,因此它不是Internet Explorer独有的。但是,您可能会发现在cookie上设置一个长期到期有一些好处,要求浏览器保留它们。
如果您想保留信息,则需要在服务器上的数据库中执行此操作,因为您知道它不会被清除!