高級之路篇五:瀏覽器之通信

先說下,時下兼容性較好的,需求量較大的同瀏覽器同源打開的兩個不同tab標籤頁的通信:

1、window.postMessage

適用情形:A頁面中通過JavaScript的window.open打開B頁面,或者B頁面通過iframe嵌入至A頁面

2、onstorage

適用情形:兩個互不相關的通源tab頁面通信

window.addEventListener("storage", function(e){
    ......
});

通過window對象偵聽storage事件,會偵聽localStorage對象的變化事件(包括item的添加、修改和刪除)。

3、兩個互不相關的tab頁面通信。

我們巧妙的結合HTML5 postMessage API 和 storage事件實現這兩個毫無關係的tab頁面的連通。爲此,我想到了iframe,通過在這兩個tab頁嵌入同一個iframe頁實現“橋接”,最終完成通信:

tab A -----> iframe A[bridge.html]
                     |
                     |
                    \|/
             iframe B[bridge.html] ----->  tab B    

4、cookie + setInterval()

將要傳遞的信息存儲在cookie中,每隔一定時間讀取cookie信息,即可隨時獲取要傳遞的信息。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章