两个html窗口间利用JavaScript通信
场景:当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);本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!