浏览器多个标签页之间的通信
-
针对的多页面应用
-
4种方法(浏览器数据存储、服务器方式)
- localStorage
- cookie + setInterVal
- webscoket
- share worker
localStoarge
- 在一个页签内调用
localStorage.setItem(key,value)添加或者修改内容,在另外一个页签内监听storage事件,可以通过事件对象event获取到信息。
事件对象event包括一下信息:
- domian
- newValue
- oldValue
- key
cookie
- 在A页面将需要传递的信息存储在cookie种,在B页面设置
setInterVal,以一定的时间去读取cookie的值
websocket
- 多页签都监听服务器的推送事件来获得其它页签发送的数据
share worker
- 普通的webworker直接使用new Worker()即可创建,这种webworker是当前页面专有的。然后还有种共享worker(SharedWorker),这种是可以多个标签页、iframe共同使用的。SharedWorker可以被多个window共同使用,但必须保证这些标签页都是同源的(相同的协议,主机和端口号)