簡體   English   中英

javascript無法在ie7中獲取/設置cookie

[英]javascript can't get/set cookie in ie7

我必須在2個Cookie字典/鍵式Cookie中存儲用戶的首選項,以便在應用程序上隱藏每種表單的某些部分。

看來IE7已達到javascript中 Cookie的數量或大小的一定限制。

我的意思是Cookie只能在客戶端js上無法訪問,但可以在我們的asp.net/vb后台代碼中很好地讀取。

需要讀取這些cookie值的函數必須在客戶端,因為每次該函數需要更新cookie時我都無法運行回發。

我應該如何在不觸發回發的情況下獲取和設置Cookie? 我曾考慮過將cookie onload的值存儲在文本框中,但是我不知道何時讀回並更新cookie。

替換答案,因為上一個答案不適用,並且評論變得冗長。

根據瀏覽器的不同, 每個域最多只能有4KB Cookie數據。

RFC指出,瀏覽器至少需要支持20個cookie(IE可以支持50個cookie),並且至少需要支持4KB。

但是,可悲的事實是,大多數瀏覽器都將4KB作為上限。 因此,對於可能在野外使用的應用程序,這些cookie上的所有數據的總和不應超過4KB。

同樣,4KB顯然是主觀的,因為某些瀏覽器將其表示為4095字節。 奇怪的是那個。

無論如何,當前版本的Chrome和Firefox沒有此上限。 IE 9的上限為每個域10,234個字節,每個cookie 5,117個(另一個奇數); 但是,Opera和Safari仍然很舊。 再說一次,如果您正在測試IE,Firefox甚至是Chrome的舊版本,那么也會遇到4KB的限制。

我個人認為,如果您的Cookie大於4KB,那么您可能會遇到一些設計問題,因為您現在對瀏覽器和服務器之間的最小連接施加了更大的壓力。 如果您需要的數據更多,則可能需要設置本地緩存服務器,將數據嵌入頁面中,或者至少重新考慮使用cookie的目的。

一個有趣的鏈接: http : //browsercookielimits.x64.me

至於設置和讀取它們,請查看用於處理Cookie的jQuery插件:

http://plugins.jquery.com/project/Cookie

如果您使用插件來設置它們,那么它們將是可讀的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM