chrome扩展,“manifest_version“: 3, chrome 扩展图标点击事件

在 Chrome 扩展中,从 Manifest V3 开始,后台脚本(background scripts)被服务工作线程(service workers)所取代。这改变了扩展图标点击事件(通常称为浏览器操作或者页面操作)的处理方式。在 Manifest V3 中,您需要使用 chrome.action.onClicked 监听器来处理扩展图标的点击事件。

下面是一个如何设置扩展图标点击事件处理器的示例:

  1. manifest.json 文件中,确保已经声明了 action 字段:
json 复制代码
{
  "manifest_version": 3,
  "name": "您的扩展名称",
  "version": "1.0",
  "action": {
    "default_popup": "popup.html", // 可选的弹出页面
    "default_icon": {
      "16": "images/icon16.png",
      "48": "images/icon48.png",
      "128": "images/icon128.png"
    }
  },
  "background": {
    "service_worker": "background.js"
  },
  "permissions": [
    "activeTab"
    // 其他可能需要的权限
  ],
  // 其他可能需要的字段
}
  1. 在您的服务工作线程脚本(通常是 background.js)中添加点击事件监听器:
javascript 复制代码
// background.js
chrome.action.onClicked.addListener((tab) => {
  // 当扩展图标被点击时,执行下面的代码
  console.log("扩展图标被点击了!");

  // 可以在这里执行各种操作,例如打开新的标签页,注入脚本等
  // 例如:注入content script到当前标签页
  /* chrome.scripting.executeScript({
    target: { tabId: tab.id },
    files: ['content.js']
  }); */

  // 打开一个新的标签页
  /* chrome.tabs.create({ url: 'https://example.com' }); */
});

请注意,如果您定义了默认的弹出页面(default_popup),当用户点击扩展图标时,将会显示这个弹出页面,并且不会触发 chrome.action.onClicked 监听器。如果您想要编写自己的点击处理逻辑,请不要在 manifest.jsonaction 字段中设置 default_popup,或者将其设置为空字符串。

人工智能学习网站:
https://chat.xutongbao.top

相关推荐
不简说1 分钟前
这次真香!sv-print 可视化打印设计器更新:插件脚手架、Excel 导出、弹窗 API 三连发
前端·javascript·前端框架
无聊的老谢5 分钟前
Web GIS 最佳实践:Vue 集成 Leaflet/OpenLayers 实现基站海量点位渲染
前端·javascript·vue.js
yingyima9 分钟前
GCP Cloud Scheduler 核心语法与实战示例速查手册
前端
用户573501072520610 分钟前
Elpis 项目阶段性总结 - 基于 vue3 完成领域模型架构建设
前端
假如让我当三天老蒯16 分钟前
为什么 setData 能获取到 prev 参数?(自学用)
前端·react.js
AskHarries28 分钟前
Workspace:文件系统、项目上下文和执行边界
java·服务器·前端
Aphasia31143 分钟前
从内存模型看深浅拷贝
前端·javascript·面试
IT策士1 小时前
第45篇 k8s之实战:将 Web 应用迁移到 Kubernetes(下)
前端·容器·kubernetes
你怎么知道我是队长2 小时前
CRC校验C语言实现-CRC8、CRC16、CRC16的直接计算法、查表法
c语言·前端·javascript
Rain5092 小时前
mini-cc 终端 UI:用 React 写 CLI 是什么体验
前端·人工智能·react.js·ui·架构·前端框架·ai编程