当前位置:网站首页>浏览器tab页之间的通信
浏览器tab页之间的通信
2022-07-01 19:37:00 【yanling.zhang】
转载:https://zhuanlan.zhihu.com/p/63422027
1.场景1:两个需要交互的tab页面具有依赖关系 – postMessage
如 A页面中通过JavaScript的window.open打开B页面,或者B页面通过iframe嵌入至A页面,此种情形最简单,可以通过HTML5的 window.postMessage API完成通信,由于postMessage函数是绑定在 window 全局对象下,因此通信的页面中必须有一个页面(如A页面)可以获取另一个页面(如B页面)的window对象,这样才可以完成单向通信;B页面无需获取A页面的window对象,如果需要B页面对A页面的通信,只需要在B页面侦听message事件,获取事件中传递的source对象,该对象即为A页面window对象的引用:
2.场景2: 两个打开的页面属于同源范畴 – storage
若要实现两个互不相关的同源tab页面通信,可以使用一种比较巧妙的方式:localstorage。localStorage的存储遵循同源策略,因此同源的两个tab页面可以通过这种共享localStorage的方式实现通信,通过约定localStorage的某一个itemName,基于该key值的内容作为“共享硬盘”方式通信。
HTML5提供了storage事件,通过window对象侦听storage事件,会侦听localStorage对象的变化事件(包括item的添加、修改和删除)。因此,通过事件可以完成高效的通信机制。
边栏推荐
- 芭比Q了!新上架的游戏APP,咋分析?
- Accelera Systems Initiative是一个独立的非营利组织
- Simple but modern server dashboard dashdot
- 杰理之、产线装配环节【篇】
- 走进如心小镇,数智化变革连接“未来社区”
- EURA欧瑞E1000系列变频器使用PID实现恒压供水功能的相关参数设置及接线
- Iframe parent-child page communication
- PWN攻防世界cgpwn2
- 杰理之、产线装配环节【篇】
- Detailed explanation and code example of affinity propagation clustering calculation formula based on graph
猜你喜欢

Exclusive news: Alibaba cloud quietly launched RPA cloud computer and has opened cooperation with many RPA manufacturers

MySQL数据库驱动(JDBC Driver)jar包下载

图片拼图微信小程序源码_支持多模板制作和流量主

8K HDR!| Hevc hard solution for chromium - principle / Measurement Guide

EMC-电路保护器件-防浪涌及冲击电流用

极客DIY开源方案分享——数字幅频均衡功率放大器设计(实用的嵌入式电子设计作品软硬件综合实践)

Error in installing sharp

300 linear algebra Lecture 4 linear equations

Develop those things: easycvr cluster device management page function display optimization

Past and present life of product modular design
随机推荐
RichView RichEdit SRichViewEdit PageSize 页面设置与同步
3D panoramic model display visualization technology demonstration
喜马拉雅自研网关架构演进过程
多个张量与多个卷积核做卷积运算的输出结果
[mysql] install mysql5.7
NSI脚本的测试
Write blog documents
【let var const】
BPR(贝叶斯个性化排序)
架构师毕业总结
目標檢測——Yolo系列
What did you learn about cheating after you went to college?
图片拼图微信小程序源码_支持多模板制作和流量主
关联线探究,如何连接流程图的两个节点
leetcode刷题:二叉树02(二叉树的中序遍历)
薛定谔的日语学习小程序源码
朋友圈社区程序源码分享
2022安全员-A证考题及在线模拟考试
Comprehensive evaluation and detailed inventory of high-quality note taking software (I) note, obsedian, remnote, flowus
internship:逐渐迈向项目开发