2010-07-03 140 views
5

我期待構建一個離線應用程序。我想知道如何清除緩存在谷歌瀏覽器中的作品。如果用戶刪除了他的cookies,他的離線內容是否也會消失?HTML5本地存儲和Chrome

+0

這個問題真的讓我覺得這將是對缺乏支撐鉻對HTML5的localStorage:http://diveintohtml5.info/storage.html – 2012-12-06 21:16:35

回答

4

我正在運行Chrome v 5.0.370。當我從「清除瀏覽數據」對話框中執行「刪除Cookie和其他網站數據」時,localStorage實際上已被清除。

現在,如果用戶啓動Webkit Inspector,打開存儲選項卡,並且只有刪除了cookie,那麼localStorage不會受到影響。

但我假設你的意思是通過正常的對話。

+0

右鍵,localStorage的就像是一個更大/更有條理cookie系統,但不是更可靠。 – Mark 2010-07-03 03:36:04

+2

要添加到以前的評論... *在客戶端上沒有任何東西可靠。 – Matt 2010-07-03 03:39:36

+0

是的,所有類似HTML5的本機應用程序大肆宣傳本地存儲 - 這是非常無趣的..我知道很多人有時候會使用刪除歷史記錄(即使不使用個人計算機) - 而且這樣做會使本地存儲沒有比餅乾更可靠的... – jack33 2010-07-03 04:23:23

2

鉻19現在。我運行了ccleaner yest,但是我的webStorage數據仍然是持久的(至少爲我的Chrome擴展)。

0

是的我們可以將變量聲明存儲在本地存儲,如會話變量。並且您可以使用以備將來使用。

interface Storage { 
    readonly attribute unsigned long length; 
    [IndexGetter] DOMString key(in unsigned long index); 
    [NameGetter] DOMString getItem(in DOMString key); 
    [NameSetter] void setItem(in DOMString key, in DOMString data); 
    [NameDeleter] void removeItem(in DOMString key); 
    void clear(); 
}; 

我會給你例子中看到更多:

// Save data to the current session's store 
sessionStorage.setItem("username", "John"); 

// Access some stored data 
alert("username = " + sessionStorage.getItem("username")); 

的sessionStorage的對象是,如果瀏覽器突然被掛在應保存和恢復臨時數據最有用刷新。

// Get the text field that we're going to track 
var field = document.getElementById("field"); 

// See if we have an autosave value 
// (this will only happen if the page is accidentally refreshed) 
if (sessionStorage.getItem("autosave")) { 
    // Restore the contents of the text field 
    field.value = sessionStorage.getItem("autosave"); 
} 

// Listen for changes in the text field 
field.addEventListener("change", function() { 
    // And save the results into the session storage object 
    sessionStorage.setItem("autosave", field.value); 
});