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')
  }
})

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

相关文章
|
Web App开发 移动开发 前端开发
使用Svelte开发Chrome Extension
起因 最近Chrome浏览器升级到96大版本后,二维码入口从地址栏移动至二级菜单。这对H5前端开发来说不太友好,每次需要页面二维码时都需要多点两下(* ̄︿ ̄)。 因此萌生了开发一个二维码Chrome Extension的想法(@ ̄ー ̄@)。 经过多方技术选型(React、原生、Vue、Svelte等),最终选择Svelte,原因是语法简单,心智负担小,运行时代码少,打包体积小
262 0
|
Web App开发 JavaScript 测试技术
|
Web App开发 JavaScript 前端开发
将Chrome Extension加到快捷菜单中
转载请注明出处:http://blog.csdn.net/horkychen 接着上一篇Chrome插件的实作。 Step 1. 修改manifest.
951 0
|
2月前
|
Web App开发 数据采集 存储
WebDriver与Chrome DevTools Protocol:如何在浏览器自动化中提升效率
本文探讨了如何利用Chrome DevTools Protocol (CDP) 与 Selenium WebDriver 提升浏览器自动化效率,结合代理IP技术高效采集微博数据。通过CDP,开发者可直接操作浏览器底层功能,如网络拦截、性能分析等,增强控制精度。示例代码展示了如何设置代理IP、cookie及user-agent来模拟真实用户行为,提高数据抓取成功率与稳定性。适用于需要频繁抓取互联网数据的应用场景。
452 3
WebDriver与Chrome DevTools Protocol:如何在浏览器自动化中提升效率
|
13天前
|
Web App开发 缓存 安全
WIN11 Chrome 双击打不开闪退及Chrome浏览器不能拖拽文件crx
【11月更文挑战第6天】本文介绍了 WIN11 系统中 Chrome 浏览器双击打不开闪退及不能拖拽文件 crx 的原因和解决方法。包括浏览器版本过旧、扩展程序冲突、硬件加速问题、缓存过多、安全软件冲突、系统文件损坏、用户配置文件损坏等问题的解决方案,以及 crx 文件的屏蔽、权限问题和文件格式问题的处理方法。
|
15天前
|
Web App开发 Linux iOS开发
Chrome浏览器如何导出所有书签并导入书签
【11月更文挑战第4天】本文介绍了如何在 Chrome 浏览器中导出和导入书签。导出时,打开书签管理器,点击“整理”按钮选择“导出书签”,保存为 HTML 文件。导入时,同样打开书签管理器,点击“整理”按钮选择“导入书签”,选择之前导出的 HTML 文件即可。其他主流浏览器也支持导入这种格式的书签文件。
|
21天前
|
Web App开发 JavaScript 前端开发
使用 Chrome 浏览器的内存分析工具来检测 JavaScript 中的内存泄漏
【10月更文挑战第25天】利用 Chrome 浏览器的内存分析工具,可以较为准确地检测 JavaScript 中的内存泄漏问题,并帮助我们找出潜在的泄漏点,以便采取相应的解决措施。
138 9
|
1月前
|
Web App开发 开发者
|
1月前
|
Web App开发 JSON 安全
Chrome浏览器的跨域问题
【10月更文挑战第6天】
|
1月前
|
Web App开发 缓存 安全
Chrome浏览器启动参数大全
这是一组用于定制浏览器行为的命令行参数,包括但不限于:不停用过期插件、放行非安全内容、允许应用中心脚本、停用GPU加速视频、禁用桌面通知、禁用拓展及各类API、调整缓存设置、启用打印预览、隐身模式启动、设定语言、使用代理服务器、无头模式运行等。通过这些参数,用户可以根据需求灵活调整浏览器功能与性能。

热门文章

最新文章

下一篇
无影云桌面