成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

利用StorageEvent實現(xiàn)頁面間通信的方法-創(chuàng)新互聯(lián)

小編給大家分享一下利用Storage Event實現(xiàn)頁面間通信的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

在黑山等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站設計 網(wǎng)站設計制作按需定制網(wǎng)站,公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,品牌網(wǎng)站設計,營銷型網(wǎng)站建設,外貿(mào)營銷網(wǎng)站建設,黑山網(wǎng)站建設費用合理。

我們都知道觸發(fā)window.onstorage必須滿足以下兩個條件:

  • 通過localStorage.setItem或sessionStorage.setItem保存(更新)某個storage

  • 保存(更新)這個storage時,它的新值必須與之前的值不同

上面的第二個條件,簡單來講就是:要么是storage的初始化,因為不存在的storage,其值為null;要么就是對已有storage的更新

舉例:

// 初始化storage
window.localStorage.setItem('a', 123);

// 注冊onstorage事件
window.onstorage = (e) => {
  console.log(e);
};

// 更新storage
window.localStorage.setItem('a', 123);

上面的最后一行代碼并不會觸發(fā)onstorage事件,因為a的值并沒有變化,前后都是123,所以瀏覽器判定這次更新是無效的

由于onstorage事件是瀏覽器觸發(fā)的,所以如果我們打開了多個相同域名下的頁面,并在其中任一一個頁面執(zhí)行window.localStorage.setItem方法(還要保證滿足文章開頭提到的第二個條件),那么其他頁面如果監(jiān)聽了onstorage事件,則這些頁面中的onstorage事件回調(diào)都會被執(zhí)行

舉例:

// http://www.example.com/a.html
<script>
// 注冊onstorage事件
window.onstorage = (e) => {
  console.log(e);
};
</script>
// http://www.example.com/b.html
<script>
// 注冊onstorage事件
window.onstorage = (e) => {
  console.log(e);
};
</script>
// http://www.example.com/c.html
<script>
// 觸發(fā)onstorage事件
window.localStorage.setItem('a', new Date().getTime());
</script>

只要保證c頁面在a和b頁面之后打開(哪怕三個頁面不在同一瀏覽器窗口,這里需要區(qū)別窗口與tab頁的區(qū)別),那么a和b頁面中的onstorage事件都會被觸發(fā)

現(xiàn)在我們已經(jīng)知道如何利用storage event實現(xiàn)了頁面之間的通信,那么這個通信對于我們有何用途呢?

其實我們只需知道是哪個storage的更新操作觸發(fā)了onstorage事件就足夠了,那么我們?nèi)绾沃滥??onstorage事件回調(diào)和其他事件回調(diào)函數(shù)一樣,也接收一個event對象參數(shù),在這個對象中有3個有用的屬性,它們分別是:

  • key 被初始化或更新的storage的鍵名

  • oldValue 被初始化或更新的storage之前的值

  • newValue 被初始化或更新的storage之后的值

結合這3個關鍵屬性,我們就可以實現(xiàn)頁面間的數(shù)據(jù)同步

最后提一下localStorage與sessionStorage的區(qū)別

localStorage 里面存儲的數(shù)據(jù)沒有過期時間設置,而存儲在 sessionStorage 里面的數(shù)據(jù)在頁面會話結束時會被清除

以上是利用Storage Event實現(xiàn)頁面間通信的方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)網(wǎng)站制作公司行業(yè)資訊頻道!

網(wǎng)頁名稱:利用StorageEvent實現(xiàn)頁面間通信的方法-創(chuàng)新互聯(lián)
標題來源:http://jinyejixie.com/article14/dhdhge.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄服務器托管、虛擬主機企業(yè)建站、關鍵詞優(yōu)化、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設
鸡西市| 苗栗县| 晋中市| 台安县| 开阳县| 林西县| 神木县| 临汾市| 漠河县| 崇明县| 新巴尔虎右旗| 疏附县| 塔河县| 杨浦区| 塔河县| 濮阳县| 上饶县| 乌兰浩特市| 监利县| 高安市| 饶河县| 沁源县| 贺兰县| 醴陵市| 祁连县| 石首市| 乐亭县| 钟山县| 天气| 雷州市| 兰西县| 电白县| 乌审旗| 成武县| 田阳县| 玉溪市| 中卫市| 皋兰县| 历史| 麻栗坡县| 科技|