如何利用js在兩個html窗口間通信
場景:當A頁面打開B頁面,在B頁面操作後,A頁面需要同步變更數據時
A 頁面 ,http://127.0.0.1:10001/A.html
var domain = 'http://127.0.0.1:10001'; window.open('http://127.0.0.1:10001/B.html'); window.addEventListener('message', function (event) { if (event.origin !== domain) return; console.log('message received: ' + event.data, event); }, false);
B 頁面 ,http://127.0.0.1:10001/B.html,opener是當前窗口的打開者引用
var domain = 'http://127.0.0.1:10001'; window.opener.postMessage("success", domain); window.close();
如果是需要A打開B的同時向B中發送數據時
// 發送數據方 var domain = 'http://127.0.0.1:10001'; var myPopup = window.open('http://127.0.0.1:10001/B.html'); myPopup.postMessage('數據', domain); // 接收數據方 window.addEventListener('message', function(event) { if(event.origin !== 'http://127.0.0.1:10001') return; console.log('message received: ' + event.data,event); },false);
以上就是如何利用js在兩個html窗口間通信的詳細內容,更多關於js在兩個html窗口間通信的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- 與iframe進行跨域交互的解決方案(推薦)
- Iframe跨窗口通信原理詳解
- 使用postMessage實現iframe跨域通信的示例代碼
- Vue 使用postMessage 實現父子跨域通信
- Vue中iframe 結合 window.postMessage 實現跨域通信