2013-05-06 43 views
0

我有一些問題要在jQuery的移動Web應用程序中使用localStorage對象: 我有兩個應用程序,我都想處理一些設置。例如應用程序1保存這樣一個值:在webapp中使用localStorage

localStorage.setItem("example", "one"); 

和App 2保存相同的屬性,但與另一個值:

localStorage.setItem("example", "two"); 

,如果我再讀取的getItem的設置,會發生什麼?任何應用程序是否擁有自己的存儲空間,或者可以應用程序1讀取應用程序2的設置?

如果我稍後刪除一個web應用程序(刪除主屏幕上的書籤),那麼localStorage的數據是否也會被刪除,或者是否需要手動清除瀏覽器緩存(例如在settings> safari下)?

localStorage和cookies有什麼區別?

localStorage.setItem()和window.localStorage.setItem()有什麼區別?

在此先感謝!

回答

0

localStorage是每個域。所以www.foo.com不會與www.bar.com分享任何數據。他們各自獲得自己的localStorage。如果您在同一個域中有兩個應用程序,但路徑不同,那麼您應該關注關鍵衝突。考慮使用store.js,因爲它有一個命名空間功能,可以很容易地避免衝突:

var settings = store.namespace('app1'); 
settings('example', 'one'); // will automatically store as 'app1.example' 

Cookies是在他們尊重的路徑不同,但他們也與每一個HTTP請求(更高的帶寬成本一起發送),通常限制在幾千字節,而localStorage通常具有多兆字節的空間。

+0

哦,和window.localStorage.setItem和localStorage.setItem沒有區別。他們完全一樣。 – 2013-05-07 15:32:48