不同域跨窗口通讯
最后更新于:2022-04-02 03:27:11
****[TOC]
## window.postMessage() 跨窗口通讯
父:
```
// 父窗口打开一个子窗口
var popup = window.open('http://bbb.com', 'title');
// 父窗口向子窗口发消息
popup.postMessage('Hello World!', 'http://bbb.com');
```
子:
`window.opener.postMessage('Nice to see you', 'http://aaa.com');
`
监听事件
```
// 父窗口和子窗口都可以用下面的代码,
// 监听 message 消息
window.addEventListener('message', function (e) {
console.log(e.data);
},false);
```
* `event.source`:发送消息的窗口
* `event.origin`: 消息发向的网址
* `event.data`: 消息内容
## LocalStorage 通过 `postMessage()` 可跨域发送 `LocalStorage `
';