2011年4月1日

刪除 Firefox 中 localStorage 的數據

HTML5 提供了兩種新的方法在客戶端儲存數據[1]
localStorage - 沒有時間限制
sessionStorage - 當窗口關閉後就刪除

localStorage 會永久的儲存在電腦中
由A網站建立的數據必須由A網站的 JavaScript 執行:localStorage.clear()
數據才會被刪除

一般來說
各瀏覽器默認都提供5MB的大小讓一個網域使用[2]
要是有一千個網站都使用了5MB的數據
電腦裡就無端生出了5GB不知道裡面有什麼東西的巨大檔案
甚至於說不定有不良設計師將他珍藏的A片切成5MB的大小
每當有人來他的網站就把檔案寫進硬碟裡
把所有使用者的硬碟當成了免費空間呢!!!
而 Firefox 卻沒有提供方法讓一般使用者查看並刪除這些數據[3][4]

那如何刪除 Firefox 中 localStorage 的數據呢?
Firefox 將 localStorage 的數據放在設定檔資料夾中的 webappsstore.sqlite 檔案
具體位置可以從圖一看到
基本上直接將這個檔案刪除就可以了
但如果只是想知道儲存了什麼數據、或是只想刪除特定網站的數據
可以安裝 Firefox 的外掛 SQLite Manager
然後開啟 webappsstore.sqlite
從圖一可看到 webappsstore.sqlite 檔案裡有很多垃圾
這都是一些網站創建了會永久儲存的數據,卻沒有在用完後刪除
而且如我所預料的
在最下面就可以看到有不良設計師在我的電腦裡放了無意義的資料!

刪除 Firefox 中 localStorage 的數據
圖一 SQLite Manager 使用畫面
(scope 那一列的網址英文不知為何是倒過來排的)

參考資料:
[1]http://www.w3school.com.cn/html5/html_5_webstorage.asp
[2]http://blog.allenm.me/2011/03/localstorage-in-html5-1/
[3]http://book.51cto.com/art/200904/118374.htm
[4]http://blog.sina.com.cn/s/blog_4515673f0100mm6m.html

沒有留言:

張貼留言

Likey
創用 CC 授權條款