架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1247|回复: 1

[其他] 浏览器窗口通信之 post-robot 示例

[复制链接]
发表于 2023-2-18 21:24:06 | 显示全部楼层 |阅读模式
需求:之前使用 PostMessage 测试过浏览器窗口直接的通信,今天使用一个第三方的库 post-robot 进行跨域窗口之间的通信。

JS 判断当前页面是否是 Iframe 或者 Popup 窗口
https://www.itsvse.com/thread-10342-1-1.html

HTML5 之 PostMessage 跨窗口通信
https://www.itsvse.com/thread-10343-1-1.html

post-robot 其实是对 PostMessage 方式进行通信进一步的封装,特点(向另一个窗口发送消息)如下:

  • 从您发送消息的窗口获得回复
  • 跨不同域将函数传递到另一个窗口
  • 处理任何阻止您的消息通过的错误
  • 不要担心序列化您的消息;只发送 javascript 对象
  • 使用promises或async/await等待您发送消息的窗口的响应
  • 在某个域上的两个窗口之间建立安全消息通道
  • 在 IE 中的父窗口和弹出窗口之间发送消息


NPM 地址:https://www.npmjs.com/package/post-robot
GitHub 代码地址:https://github.com/krakenjs/post-robot

首先,先看一下效果图,如下:

message.gif

父窗口 popup 出一个子窗口,然后向子窗口发送消息,并且能够得到子窗口的回应,当然,子窗口向父窗口发送消息也能得到回应,类似 HTTP 的请求响应模式

父窗口代码如下:

子窗口代码如下:

(完)





上一篇:Angular-cli 创建指定版本的 Angular 项目
下一篇:使用 Git 浅克隆源码下载大项目
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2023-2-19 20:50:34 | 显示全部楼层
hellohellohello
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-6-6 13:37

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表