// 主页面
window.newWin = window.open(url);
window.newWin.postMessage({ type: 1 },'http://localhost:8000');
// 新窗口打开后接收事件
window.addEventListener('message', function (data) {
alert('页面打开有数据来了:' + data);
});
问题:
使用window.open()方法打开新页面,使用postMessage给新页面传递参数时,第一次不触发新窗口'message'事件,保持新页面不关闭的情况下,再点击触发主页面以上代码,新窗口的'message'事件才会触发,且会触发两次
请大神帮忙指点下,不胜感激~~
使用window.open()方法打开新页面,然后使用postMessage给新页面传递参数,第一次不响应的问题,换了种传参方式,将参数放在url中传递,猜测有可能是新页面未加载完成导致postMessage不生效,如果有其他想法和解决思路欢迎大神指点哈~~
解决思路:不使用ostMessage给新页面传递参数,将参数放在url中传递至新页面,如下: