Window:localStorage 屬性

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

window 介面的 localStorage 只讀屬性允許你訪問 Document 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 的要求仍然未定義。因此,瀏覽器可能會隨時更改其 file: URL 的 localStorage 處理方式。事實上,有些瀏覽器確實隨著時間改變了它們的處理方式。

示例

以下程式碼片段訪問當前域的本地 Storage 物件,並使用 Storage.setItem() 向其新增資料項。

js
localStorage.setItem("myCat", "Tom");

讀取 localStorage 項的語法如下

js
const cat = localStorage.getItem("myCat");

刪除 localStorage 項的語法如下

js
localStorage.removeItem("myCat");

刪除所有 localStorage 項的語法如下

js
localStorage.clear();

注意:請參閱使用 Web Storage API 文章以獲取完整示例。

規範

規範
HTML
# dom-localstorage-dev

瀏覽器相容性

另見