2013-04-16 54 views
3

我在一個頁面上,使用關於餅乾

setCookie("cookietime","1000"); 

設置一個會話cookie,當我回去我顯示警報重置爲「」在回去前一頁

setCookie("cookietime",""); 

在將cookie發送到「」之後。它正在顯示「」警報。 但在下一頁中它仍然顯示「1000」。 是否爲特定的Cookie頁面

+0

也許你必須重置給定的過期日期。嘗試'-1' –

+0

當你指的是'在下一頁中它仍然顯示「1000」',那麼該頁面將cookie設置爲1000? – pbojinov

+0

如果提供的解決方案之一幫助您解決問題,請接受答案。 – pbojinov

回答

1

Cookie存儲在客戶端,並且是計算機+瀏覽器特定的而不是頁面特定的!我猜你正在使用document.cookie,它應該保留在會話中 - 即使刷新頁面,它們也會持續存在。使用window.name只會通過相同的瀏覽器窗口保留,但會在頁面刷新時清除。 HTML5 localStorage可能是一個合適的選擇。

涉及問題:Persist javascript variables across pages?

0

Session cookies是當您關閉瀏覽器時將被刪除臨時cookie文件。

Persistent cookies保持在瀏覽器中,直到它到期或直到您清除它們。

兩者都不是頁面特定的。

請注意,當您使用會話恢復功能時,瀏覽器重新啓動後會恢復會話cookie Firefox,這會導致一些不一致。

1

Cookie是域和路徑特定的。也許這將幫助你:

[1] http://en.wikipedia.org/wiki/HTTP_cookie#Domain_and_Path

[2] http://www.quirksmode.org/js/cookies.html

還有的jQuery插件可以設置cookie的域和路徑:

$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' }); 

[3 ] https://github.com/carhartl/jquery-cookie

+0

還有另一個示例[這裏](http://stackoverflow.com/questions/7551113/how-to-set-path-while-saving-the-cookie-value-in-javascript)。 –