2010-06-30 121 views
0

我在我的應用程序中使用了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/> 

回答

1

您沒有設置過期時間,默認情況下,Cookie應在瀏覽器關閉時過期。我不知道爲什麼Mozilla 不是這樣做是真正的錯誤。

嘗試:

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

謝謝你,親愛的,它的工作。 – azazi 2010-06-30 08:59:36

0

Cookie是易失性的 - 取決於瀏覽器設置,它們可能在瀏覽器關閉時被清除。您可以設置Firefox來執行此操作,因此它不是唯一的Internet Explorer。但是,您可能會發現爲Cookie設置較長的到期時間以便讓瀏覽器保留它們的好處。

如果您想保留信息,您需要在服務器上的數據庫中執行此操作,因爲您知道它不會被清除!