实现浏览器内多个标签页之间的通信
1.localStorage
在一个标签页调用localStorage.setItem(name,val)保存数据localStorage.removeItem(name)删除数据的时候会触发 'storage'事件。
在另外一个标签页监听document对象的storage事件,在事件event对象属性中获取信息
event事件对象包含以下信息
- 1. domain
- 2. newValue
- 3. oldValue
- 4. key
2.cookie
在A页面将需要传递的消息存储在cookie当中
在B页面设置setInterval,以一定的时间间隔去读取cookie的值。
- 调用localstorage,cookies等本地存储方式
- WebSocket、SharedWorker
- localstroge另一个浏览器上下文被添加、删除或修改时,它都会触发一个事件,我们通过监听事件,控制它的值来进行页面信息通信。
- 注意quirks:Safari在无痕迹模式下设置localstorge值抛出QuotExceededError的异常。