iframe與宿主頁面的通信問題

1. 利用 sessionStorage 進行相對安全的通信(localStorage)

保存數據語法:

sessionStorage.setItem("key", "value");

讀取數據語法:

var lastname = sessionStorage.getItem("key");

刪除指定鍵的數據語法:

sessionStorage.removeItem("key");

刪除所有數據:

sessionStorage.clear();

2. postMessage

子向父通信


// iframe 頁面 發消息
window.parent.postMessage({
         msg:"xxx"
},'*');
// 父頁面 收消息
window.addEventListener('message',function(res){
        console.log(res.data.msg);
});

父向子通信

// 父頁面 發消息
var myframe = document.getElementById('myframe'); //獲取iframe
myframe.contentWindow.postMessage({data:'parent'},childDomain); //childDomain是子頁面的源(協議+主機+端口號)
// iframe 頁面 收消息
window.addEventListener('message', function(e){
      console.log(e.data.data);
})

參考鏈接:

發佈了141 篇原創文章 · 獲贊 31 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章