Chrome Extension ContextMenus 创建 适配Manifest3

简介: Chrome Extension ContextMenus 创建 适配Manifest3

Manifest3 之后 ContextMenus也进行了升级。
Manifest3配置如下:

  "background": {
    "service_worker": "background.ts"
  },
  "permissions": [
    "contextMenus",
  ]

background中的scripts改成了service_worker。
Manifest3的文档地址https://developer.chrome.com/docs/extensions/mv3/intro/
ContextMenus调用只能在background配置的service_worker里边,页面脚本只能使用部分chrome extension方法。
contextMenus的文档地址https://developer.chrome.com/docs/extensions/reference/contextMenus/
写法如下:

chrome.contextMenus.create({
  'id': 'download all image',
  'title': '下载页面中图片',
  'contexts':['page'],
})

chrome.contextMenus.create({
  'id': 'download same image',
  'title': '下载同类图片',
  'contexts':['image'],
})

// 事件回调都放到了统一一个地方监听。
chrome.contextMenus.onClicked.addListener((info, tab) => {
  console.log(info ,tab)
  if (info.menuItemId == 'download all image') {
    console.log('download all image')
  } else if (info.menuItemId == 'download same image') {
    console.log('download same image')
  }
})

这样就能在页面里边显示出右键的菜单了。

相关文章
|
4月前
|
Web App开发 算法 安全
Chrome Extension Adblock 介绍
Chrome Extension Adblock 介绍
|
Web App开发 移动开发 前端开发
使用Svelte开发Chrome Extension
起因 最近Chrome浏览器升级到96大版本后,二维码入口从地址栏移动至二级菜单。这对H5前端开发来说不太友好,每次需要页面二维码时都需要多点两下(* ̄︿ ̄)。 因此萌生了开发一个二维码Chrome Extension的想法(@ ̄ー ̄@)。 经过多方技术选型(React、原生、Vue、Svelte等),最终选择Svelte,原因是语法简单,心智负担小,运行时代码少,打包体积小
246 0
|
Web App开发 前端开发 JavaScript
React的source code init时会自动检测Chrome dev tool的react extension装了没
React的source code init时会自动检测Chrome dev tool的react extension装了没
110 0
React的source code init时会自动检测Chrome dev tool的react extension装了没
|
Web App开发 监控 前端开发
SAP成都研究院安德鲁:自己动手开发一个Chrome Extension
SAP成都研究院安德鲁:自己动手开发一个Chrome Extension
198 0
|
Web App开发 JavaScript 测试技术
|
Web App开发 JavaScript 前端开发
将Chrome Extension加到快捷菜单中
转载请注明出处:http://blog.csdn.net/horkychen 接着上一篇Chrome插件的实作。 Step 1. 修改manifest.
943 0
|
30天前
|
Web App开发
Chrome——谷歌浏览器chrome如何模拟其他客户端
Chrome——谷歌浏览器chrome如何模拟其他客户端
69 1
Chrome——谷歌浏览器chrome如何模拟其他客户端
|
7天前
|
Web App开发 数据采集 存储
WebDriver与Chrome DevTools Protocol:如何在浏览器自动化中提升效率
本文探讨了如何利用Chrome DevTools Protocol (CDP) 与 Selenium WebDriver 提升浏览器自动化效率,结合代理IP技术高效采集微博数据。通过CDP,开发者可直接操作浏览器底层功能,如网络拦截、性能分析等,增强控制精度。示例代码展示了如何设置代理IP、cookie及user-agent来模拟真实用户行为,提高数据抓取成功率与稳定性。适用于需要频繁抓取互联网数据的应用场景。
WebDriver与Chrome DevTools Protocol:如何在浏览器自动化中提升效率
|
23天前
|
Web App开发 JSON 安全
【跨域难题终结者】:一键解锁Chrome浏览器神秘设置,彻底告别开发阶段的跨域烦恼!
【8月更文挑战第20天】跨域是前端开发常遇难题,尤其在前后端分离项目中。浏览器因安全考量会阻止不同源间的请求。本文对比CORS、JSONP、代理服务器等解法,并介绍开发阶段通过调整Chrome设置来临时禁用跨域限制的方法,提供启动Chrome及使用`fetch`API示例,适合快速测试。但请注意这不适用于生产环境,存在一定安全风险。
69 1
|
24天前
|
Web App开发
成功解决Chrome浏览器 控制台下看不到接口信息的问题
这篇文章提供了解决Chrome浏览器控制台不显示接口信息问题的方法,包括检查过滤设置和确保“保留日志”开关已打开。
成功解决Chrome浏览器 控制台下看不到接口信息的问题

热门文章

最新文章