2017-09-15 29 views
2

localStorage.clear()似乎表現爲完全擦除所有本地存儲。本地存儲似乎適合我的使用情況,但我擔心本地存儲無法保證不能在我的控制之外清除。localStorage.clear()用法

例如:

我的網站上有一行代碼:

localStorage.setItem('some', 'data');

是在另一個選項卡上的相同的瀏覽器操作的其他一些網站上有這行代碼:

localStorage.clear();

如果這種情況發生,當我去訪問localStorage.getItem('some');,它將返回null,因爲其他人運行了localStorage.clear()

  1. 我們是否永遠不會運行localStorage.clear()
  2. 什麼是localStorage.clear()的正確使用,如果我重 使用本地存儲,並且不希望寫一噸的代碼從本地存儲刪除 項目單獨 localStorage.removeItem('item1'); localStorage.removeItem('item2'); // etc...
  3. 有一些方法,以防止物品從被刪除,如果有人 運行localStorage.clear()別的地方?

回答

3

有沒有必要擔心,每次打開一個新的窗口或選項卡時創建一個新的會話,localStorage指的是該選項卡/窗口的本地會話是唯一的該域。

  1. 你的罰款運行它,如果你需要清除一切使用隨意使用localStorage.clear()

  2. 別人無法清除本地存儲只會清除變量

https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API

+0

這樣你就可以擰的唯一方法是,如果你在一個更大的團隊工作和別人運行它你的網站內。這是可以理解的。 – mwilson

2

它是每個域獨一無二的。例如,localStorage爲您的域名

protocol://abc.com將不同於protocol://xyz.com