Window:localStorage 屬性
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
window
介面的 localStorage
唯讀屬性允許你存取一個用於文件的源的 Storage
物件;儲存的資料會跨瀏覽器工作階段保存。
localStorage
與 sessionStorage
相似,不同之處在於 localStorage
的資料沒有過期時間,而 sessionStorage
的資料會在頁面工作階段結束時(也就是頁面關閉時)清除。(在「私密瀏覽」或「無痕」模式中載入的文件,其 localStorage
資料會在最後一個「私密」分頁關閉時清除。)
值
一個 Storage
物件,可用於存取目前同源的本機儲存空間。
例外
SecurityError
-
在以下情況之一會拋出:
- 同源不是一個有效的協定/主機/埠元組。舉例來說,如果同源使用
file:
或data:
協定,就可能發生這種情況。 - 請求違反了政策決定。例如,使用者已將瀏覽器組態為防止頁面保存資料。
請注意,如果使用者封鎖了 Cookie,瀏覽器可能會將此解釋為防止頁面保存資料的指令。
- 同源不是一個有效的協定/主機/埠元組。舉例來說,如果同源使用
描述
使用 localStorage
儲存的鍵和值是 UTF-16 字串格式。與物件一樣,整數鍵會自動轉換為字串。
localStorage
的資料與文件的協定有關。具體來說,對於透過 HTTP(例如 http://example.com
)載入的網站,localStorage
回傳的物件與透過 HTTPS(例如 https://example.com
)載入的相應網站的 localStorage
不同。
對於從 file:
URL 載入的文件(也就是直接從使用者的本機檔案系統在瀏覽器中開啟的檔案,而不是由 web 伺服器提供),localStorage
的行為要求是未定義的,且可能因瀏覽器而異。
在所有目前的瀏覽器中,localStorage
似乎會為每個 file:
URL 回傳一個不同的物件。換句話說,每個 file:
URL 似乎都有自己獨特的本機儲存區域。但這種行為沒有保證,所以你不應該依賴它,因為如上所述,file:
URL 的要求仍然是未定義的。因此,瀏覽器可能隨時更改其對 localStorage
的 file:
URL 處理方式。事實上,一些瀏覽器隨著時間的推移已經改變了它們的處理方式。
範例
以下程式碼片段存取目前網域的本機 Storage
物件,並使用 Storage.setItem()
向其新增一個資料項目。
localStorage.setItem("myCat", "Tom");
讀取 localStorage
項目的語法如下:
const cat = localStorage.getItem("myCat");
移除 localStorage
項目的語法如下:
localStorage.removeItem("myCat");
移除所有 localStorage
項目的語法如下:
localStorage.clear();
備註: 請參閱使用 Web Storage API 文章以取得完整範例。
規範
Specification |
---|
HTML # dom-localstorage-dev |