浏览器插件在content_script和top窗口之间进行消息通信

news2025/1/11 7:13:37

为什么要进行消息通信?

        content_script和top窗口之间除了DOM共享之外,window对象是不共享的。如果content_script需要获得top窗口中window对象的数据,就需要使用到通信。反之,也是相同的情况。

1、自定义监听事件(推荐)

// 广播:浏览器原生网页(top)位置进行消息广播

// 发送广播: top
let customEvent = new CustomEvent('my-message-type', { details: 'this is a message!'})
window.dispatchEvent(customEvent)

// 消息监听:content_script内容脚本进行监听
 window.addEventListener('my-message-type', (e) => {
   console.log(e)
   console.log(e?.details) // this is a message!
   // do something
 })

2、监听广播事件


// 发送广播消息:top
window.postMessage({'type': 'my-message-type', 'data': 'message!'}, '*')

// 监听消息:content_script
window.addEventListener('message', (e) => {
  console.log('e:', e)
  console.log('e.data:', e?.data)
  console.log('e.data.type:', e?.data?.type)
  console.log('e.data.data:', e?.data?.data)

  if (e?.data?.type === 'my-message-type') {
    // do something
  }
})

不推荐使用window.postMessage进行消息广播:
来源CSDN论坛评论:https://blog.csdn.net/dongzi_yu/article/details/128441466#comments_28957465
image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1219437.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Matlab通信仿真系列——变量、矩阵及其运算

微信公众号上线,搜索公众号小灰灰的FPGA,关注可获取相关源码,定期更新有关FPGA的项目以及开源项目源码,包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等 本节目录 一、变量 (1)变量的赋值…

Windows 小狼毫 如何在安装后指定用户配置文件文件夹

Windows 小狼毫 如何在安装后指定用户配置文件文件夹 打开小狼毫的安装目录,双击目录中的 WeaselSetup.exe 就会弹出截图中的那个窗口,然后指定你的用户文件夹目录就可以了

golang学习笔记——递归函数

递归函数 递归,就是在运行的过程中调用自己。 语法格式如下: func recursion() {recursion() /* 函数调用自身 */ }func main() {recursion() }阶乘 阶乘最初的定义就是小于等于某个正整数的所有正整数的乘积,5 的阶乘(记作 5!…

HCIA-综合实验(三)

综合实验(三) 1 实验拓扑2 IP 规划3 实验需求一、福州思博网络规划如下:二、上海思博网络规划如下:三、福州思博与上海思博网络互联四、网络优化 4 配置思路4.1 福州思博配置在 SW1、SW2、SW3 上配置交换网络SW1、SW2、SW3 运行 S…

动态规划专项---数字三角形模型

文章目录 摘花生最低通行费方格取数传纸条 一、摘花生OJ链接 本题思路:本题是dp问题中比较简单的模型,dp问题考虑方式:状态表示:集合:定义f[i][j]为从(1, 1)到达(i, j)的所有方案,属性:最大值。状态转移:(i, j)从(i-1, j)即上方…

经纬恒润为国产化芯片的AoU功能安全软件赋能

近日,经纬恒润成功为旗芯微FC4150开发出符合功能安全要求的AoU功能安全组件,并适配到门模块配套产品,为国产化芯片完善了符合功能安全的生态链。 AoU(Assumption of Use,安全假设)需求是芯片厂商在safety manual对最终…

场效应管(MOSFET)笔记-nmos和pmos仿真测试

一、场效应管的介绍 场效应管是一种半导体器件,它可以用来放大或者控制电流。根据结构的不同,场效应管可以分为结型场效应管(JFET)和绝缘栅场效应管(MOSFET)。其中,JFET是由一个pn结构组成&…

口袋参谋:一键查询任意买家旺旺号,规避被降权风险!

​ 对于淘宝天猫的卖家来说,查买家旺旺号是维护淘宝卖家销售权益的一种途径。 卖家通过查买家的旺旺号,从而得知买家的账号信息、买家信誉以及中差评等内容,减少淘宝卖家受骗上当的机率。 【查降权号】功能: 针对淘宝订单可一键查…

设计模式篇---装饰模式

文章目录 概念结构实例总结 概念 装饰模式:动态的给一个对象增加一些额外的职责。就扩展功能而言,装饰模式提供了 一种比使用子类更加灵活的替代方案。 装饰模式是一种对象结构型模式,它以对客户透明的方式动态地给一个对象附加上更多的责任…

MinIO实现数据迁移(mc)

运行两个版本的minio version: 2.3 services: # 新版本 minio2023: image: minio/minio:RELEASE.2022-06-20T23-13-45Z.fips container_name: minio2023 restart: always environment: - MINIO_ACCESS_KEYminioadmin - MINIO_SECRET_KEYminioadmin - MINIO_ROOT_USERminioadm…

C/C++轻量级并发TCP服务器框架Zinx-框架开发003:转大写字母输出+责任链模式+代码重构思路及实现

文章目录 1 添加转大写字母输出功能2 责任链模式2.1 责任链的设计2.2 责任链的实现2.3 责任链的测试 3 代码重构3.1 类图设计3.2 重构设计 - 头文件3.3 重构实现 1 添加转大写字母输出功能 功能流程: stdin通道类中包含一个功能处理类对象功能处理类中包含一个stdo…

【嵌入式】如何改造STLINK,使其在下载程序时无需外接3.3V电源

文章目录 1. 问题2. 原因及解决方法3. 开始改造4. 参考资料 1. 问题 在使用这种大号的 STLINK 给开发板下载程序时,都需要对开发板进行供电,有些麻烦,但是使用 J-Link 的时候就不需要外接电源,那有没有什么办法可以将 STLINK 改造…

谁家分析数据还要开发啊,不都一键得报表吗?

点击导入数据,再回来BI系统已经把近百张数据分析报表放在眼前了,每月都要计算分析的指标有了,领导要的数据分析有了,自己要的业绩分析也有了,甚至自己没想到的一些分析主题,它也贴心地做好了。有这样一套BI…

13.Oracle通过JDBC连接Java

Oracle通过JDBC连接Java 一、什么是JDBC二、Oracle通过JDBC连接Java1、导入jar包1.1 下载jar包1.2 将jar包导入到java项目中1.3编译jar包 2、连接数据库2.1 编写jdbc工具类2.2 对数据进行基本操作 一、什么是JDBC JDBC(Java Database Connectivity)是Jav…

mysql查询json字符串内容

参考文章:mysql json 基础查询_mysql json查询-CSDN博客 mysql查询json字符串内容 (多层数组嵌套) select id,nameJSON_EXTRACT(JSON_UNQUOTE(JSON_EXTRACT(JSON_UNQUOTE(config_json), $.baseInfo)), $.template_list[*].sms_content) s…

在微信上怎么做抽奖活动

微信抽奖活动:让你轻松吸引粉丝,打造火爆互动场景! 随着微信的普及,越来越多的人开始利用微信平台进行营销和推广。而微信抽奖活动作为一种有效的营销手段,能够迅速吸引用户的关注和参与,提高品牌曝光度和…

文件包含_具体场景、zip、php相关问题

具体场景—上传可控的文件 具体场景—远程文件包含 具体场景—伪协议

使用键盘管理器更改键盘快捷键,让键盘真正迎合你的使用习惯

如果默认快捷键不适合你,你肯定会想知道如何在Windows 11中更改键盘快捷键。 也许你已经习惯了macOS键盘,或者像我一样在Windows和Mac之间切换工作/游戏——如果是这样的话,重新配置默认的Windows快捷方式,使其与Mac上的快捷方式…

畜牧业可视化畜牧业数字孪生

"畜牧业是我国重要的农业产业之一,对于国民经济的发展和人民群众的生活具有重要的意义。智慧畜牧作为现代畜牧业的发展方向之一,将信息技术和现代管理相结合,提高养殖效率和品质,为行业的可持续发展注入新的动力。智慧畜牧是…