store.js 是一個跨瀏覽器的數據本地存儲 JS 框架,可以在不依賴 cookie 和 Flash 的情況下把數據保存在客戶端。由於 IE6/7 和一些老版本的瀏覽器並不支持 HTML5 的 LocalStorage API,目前在進行 HTML5 相關的開發時,還是有必要使用一些框架,比自己研究各種瀏覽器的差異省事的多。
IE6/7 中 UserData的限制
在 IE6/7 中,UserData 不能跨目錄訪問(這點其實和 LocalStorage 里不能跨子域名訪問的限制差不多,不過更加嚴格),因此在 IE6/7 里,目錄路徑的統一也是確保本地存儲數據可以訪問的要素。
// 當 URL 為 http://example.com/path1/ 時 store.set('foo', 1) // 當 URL 為 http://example.com/path1/test.html 時訪問 "foo",並設置一個新空間 "bar" // "foo" 的值能正常讀取,因為這兩個 URL 都在 /path1/ 目錄下 store.get('foo') == 1 store.set('bar', 2) // 當 URL 為 http://example.com/path2/ 時, "foo" 和 "bar" 都不能訪問 // 因為這兩個空間都不是在 /path2/ 目錄里設置的 store.get('foo') == null store.get('bar') == null // 當 URL 為 http://example.com/path1/subpath/ 時, "foo" 和 "bar" 都不能訪問 // 因為當前頁面位於 path1 的子目錄里 store.get('foo') == null store.get('bar') == null
Store.js 是一個非常輕量和簡單的本地存儲框架,如果有更加高級的需求的話,也可以嘗試使用更加強大的USTORE.js 或者 Box.js。
轉自:http://www.codecto.com/2011/07/localstorage-cross-browser-store-js/