- 多个标签页之间的通讯和单页面通讯(VUE)使用VUEX不同,它主要是在各个标签页之间数据交互。
- 多个标签页之间的数据交互主要有以下两种方式:
浏览器存储
localStorage方式
-
在一个标签页使用localStorage.setItem(key,value)添加内容
-
在另一个标签页采用localStorage.getItem(key)获得内容
Cookie
- 与本地存储类似,但是Cookie存储的数据比较小,将要传递的信息存储在cookie中,每隔一定时间读取cookie信息
- 在B页面设置setInterval,以一定的时间间隔来读取cookie值
监听服务器事件
websocket通讯
- websocket是全双工通信,服务器可以主动发送数据给浏览器,浏览器也可以主动发送数据给服务器。
- http请求是半双工的通讯,浏览器主动请求服务器发送数据,服务器才能发送数据,服务器不能主动
- 因为websocket是全双工通信,所以A页面可以把数据发给服务器,服务器在主动把数据发送给B页面
HTML5浏览器的新特性SharedWorker
- worker实现单页面通讯
- sharedWorker实现多页面通讯(必须是同源的:协议,域名,端口号要相同)