Window:storage 事件
當與當前視窗共享同一儲存區域(localStorage 或 sessionStorage)的另一文件更新該儲存區域時,Window 介面的 storage 事件便會觸發。該事件不會在做出更改的視窗上觸發。
- 對於
localStorage,該事件會在與發起文件同源的所有其他瀏覽上下文中觸發。這包括同源的其他標籤頁。 - 對於
sessionStorage,該事件會在與發起文件同源且處於同一頂級瀏覽上下文中的所有其他瀏覽上下文中觸發。這隻包括同一標籤頁中的嵌入式 iframe(如果有的話),不包括其他標籤頁。
此事件不可取消,也不會冒泡。
語法
在諸如 addEventListener() 之類的方法中使用事件名稱,或設定事件處理程式屬性。
js
addEventListener("storage", (event) => { })
onstorage = (event) => { }
事件型別
一個 StorageEvent。繼承自 Event。
事件屬性
事件處理程式別名
除了 Window 介面,事件處理程式屬性 onstorage 也可在以下目標上使用
示例
當 storage 事件觸發時,將 sampleList 項記錄到控制檯
js
window.addEventListener("storage", () => {
// When local storage changes, dump the list to
// the console.
console.log(JSON.parse(window.localStorage.getItem("sampleList")));
});
使用 onstorage 事件處理程式屬性可以實現相同的操作
js
window.onstorage = () => {
// When local storage changes, dump the list to
// the console.
console.log(JSON.parse(window.localStorage.getItem("sampleList")));
};
規範
| 規範 |
|---|
| HTML # event-storage |
| HTML # handler-window-onstorage |
瀏覽器相容性
載入中…