2010-07-03 142 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); 
});