window.postMessage() 方法可以安全地实现跨源通信,通过const newWin = window.open(url, ‘_blank’)打开新页面并获得新窗口的引用。注意这里第二个参数需要是’_blank‘,就是新建一个窗口,当前窗口不能被关闭,微信公众号里window.open实际还是在当前页面跳转,所以postmessage不生效,目前我不知道怎么解决。
a页面给b页面发消息例子:
a.html
const newWin = window.open(url, '_blank');
newWin.postMessage(data, '*')