1. Cookie轮询
将要通信的数据放在Cookie
中, 通过不断轮询cookie
, 查看是否有更改. 比较蠢的一种方法, 这里的Cookie
也可以是localStorage
这些媒介.
2. 监听localStorage事件监听
window.addEventListener('storage', function (event) {
console.log(event.key, event.newValue);
});
localStorage
被设置时, 会触发一个事件, 可以通过这个完成标签页间通信.
注意:
- Safari的无痕模式下设置
localStorage
会抛出异常.
3. SharedWorker
SharedWorker
可以创建一个共享的web进程, 目前浏览器支持还不是很好.
4. WebSocket
通过WebSocket
建立实时通信