首页 > 其他分享 >chrome.tabs.sendMessage和chrome.runtime.sendMessage的用法及区别

chrome.tabs.sendMessage和chrome.runtime.sendMessage的用法及区别

时间:2024-03-17 22:57:55浏览次数:27  
标签:chrome 扩展 tabs sendMessage runtime 页面

在 Chrome 扩展开发中,chrome.tabs.sendMessagechrome.runtime.sendMessage 是用于不同目的的消息发送 API,它们的主要区别在于消息的目标对象和发送范围:

  1. chrome.tabs.sendMessage:

    • 用于在扩展内的不同页面之间发送消息。
    • 消息的目标对象是指定的标签页或标签页中的content script。
    • 只能用于在扩展内的标签页之间进行通信,不能用于与扩展内的后台页面或其他扩展进行通信。
  2. chrome.runtime.sendMessage:

    • 用于在扩展内的不同组件之间发送消息,包括扩展内的所有页面和后台页面。
    • 消息的目标对象是扩展内的所有组件,包括所有页面和后台页面。
    • 不可以向标签页内的content script传递消息,此种情况应该用chrome.tabs.sendMessage
    • 可以用于在扩展内的任何组件之间进行通信,包括标签页、后台页面和弹出页面之间的通信,还可以用于与其他扩展进行通信。

 

注意点:chrome.runtime.sendMessage的参数的回调函数与前置await必须二选一,不可同时设置,如果同时设置,await将会不起作用。另外,如果回调函数设置了return true,将不会广播给所有响应页面或组件,如果需要广播给所有页面和组件,不可以设置return true,或不设置回调函数

标签:chrome,扩展,tabs,sendMessage,runtime,页面
From: https://www.cnblogs.com/eminer/p/18079370

相关文章

  • python+playwright 以非無痕模式打开chrome浏览器
    在使用python+playwright想从网页下载Excel数据,因为需要经过SSO,携带Tokey才可以访问数据,所以无痕模式下搞不好,使用非无痕模式打开浏览器,就可以获取cookie,成功达到效果。点击查看代码frommultiprocessing.sharedctypesimportValuefromplaywright.sync_apiimportsync_pla......
  • 【图像拼接/视频拼接】论文精读:Eliminating Warping Shakes for Unsupervised Online
    第一次来请先看这篇文章:【图像拼接(ImageStitching)】关于【图像拼接论文精读】专栏的相关说明,包含专栏使用说明、创新思路分享等(不定期更新)图像拼接系列相关论文精读SeamCarvingforContent-AwareImageResizingAs-Rigid-As-PossibleShapeManipulationAdaptiveAs......
  • 修改el-tabs的样式
    element-ui代码<template><divstyle="width:800px;"><el-tabsv-model="activeName"type="card"@tab-click="handleClick"><el-tab-panelabel="用户管理"name="first">......
  • chrome devtool 开发者工具 控制台历史、断点历史 导出
    letlocalStorageObject={};//创建一个空对象for(leti=0;i<localStorage.length;i++){  constkey=localStorage.key(i);//获取第i个项的键名  constvalue=localStorage.getItem(key);//根据键名获取对应的值  localStorageObject[key]=va......
  • chrome谷歌浏览器安装vue插件
    5.1https://chrome.zzzmh.cn/搜索vue下载Vue.jsDevtools(本人使用推荐下载)【网址极简插件】5.2下载解压得到chrome.zzzmh.cn.crx的文件5.3打开谷歌浏览器右上角三个点-更多工具-扩展程序--打开右上角的开发者模式按钮5.4将5.2的解压文件拖进来安装,安装好了以后......
  • 在Chrome添加vue插件
    1.首先打开Chrome的开发者模式:(1)点击浏览器的"设置",再点击"扩展程序”:(2)或者直接点击浏览器右上角的扩展程序:打开右上角的“开发者模式”:2.在github下载vue插件,点击进入下载地址:https://github.com/vuejs/devtools3.依次点击下载:按需要浏览器(Chrome)下载:4.点击添加到......
  • chrome 最新版本自带英语实时字幕了.
    以后有ai的加持,学英语越来越简单了.以后小孩学习外语绝对是easygameok,开始效果展示.我的系统是win10.打开chrome之后随便打开一个视频,比如b站的学英语视频.然后浏览器右上角的多媒体图标会有内容显示.最下面就是实时字母按钮,打开后会自动安装,然后就会出现字幕了.......
  • ChromeOptions 参数介绍
    在使用selenium浏览器渲染技术,爬取网站信息时,默认情况下就是一个普通的纯净的chrome浏览器,而我们平时在使用浏览器时,经常就添加一些插件,扩展,代理之类的应用。相对应的,当我们用chrome浏览器爬取网站时,可能需要对这个chrome做一些特殊的配置,以满足爬虫的行为。1.chromeOptions......
  • 网页浏览器Chrome开发者调试工具-Application(应用程序)
    前言全局说明网页浏览器Chrome开发者调试工具-Application(应用程序)一、网页浏览器Chrome开发者调试工具-Application(应用程序)Application:应用面板,用于记录网站加载的所有资源信息,如存储、缓存、字体、图片等,同时也可以对一些资源进行修改和删除。二、关闭标签页......
  • 网页浏览器Chrome开发者调试工具-Network(网络)
    前言全局说明网页浏览器Chrome开发者调试工具-Network(网络)一、网页浏览器Chrome开发者调试工具-Network(网络)网络标签页是对网页请求过程的监视,这里可以看到网页链接发送了什么请求,接收到了什么内容。都可以直观的看到二、关闭标签页在标签页上右键,可以选择移除或移......