浏览器扩展V3开发系列之 chrome.commands 快捷键的用法和案例

【作者主页】:小鱼神1024

【擅长领域】:JS逆向、小程序逆向、AST还原、验证码突防、Python开发、浏览器插件开发、React前端开发、NestJS后端开发等等

chrome.commands API 允许开发者使用快捷键来执行特定的命令。

在使用 chrome.commands API 之前必须在 manifest.json 文件中声明:
image.png

{"manifest_version": 3,"name": "chrome.commands","description": "chrome.commands API 基础用法","version": "1.0","action": {"default_popup": "popup.html","default_icon": "icons/icon128.png"},"background": {"service_worker": "background.js"},"permissions": ["commands"],"commands": {"_execute_action": {"suggested_key": {"default": "Alt+Shift+O","mac": "Command+Shift+O","windows": "Alt+Shift+O"}},"print-logger": {"suggested_key": {"default": "Alt+Shift+P","mac": "Command+Shift+P","windows": "Alt+Shift+P"},"description": "打开日志的命令"}}
}

其中,要声明权限:commands

在 commands 对象中
_execute_action :是一个特殊的Commands API命令,用于触发您的扩展中的action,相当于用快捷键的方式点击扩展图标。这个特殊命令不需要在后台服务工作线程(Service Worker)中设置任何监听器来响应chrome.commands.onCommand,它会自动触发与扩展图标的关联操作。

当多次使用快捷键:Alt+Shift+O 时,效果如下:
5.gif

print-logger:为自定义操作,名称可以随意定义,设置快捷键后。可以在后台服务工作线程(Service Worker)中 chrome.commands.onCommand 来监听快捷键,测试代码如下:
image.png

chrome.commands.onCommand.addListener(function (command) {if (command == "print-logger") {// 执行一些操作console.log("Logger 被打印了!");}
});

当多次使用快捷键:Alt+Shift+P 时,效果如下:
5.gif

suggested_key对象中有:default、chromeos、linux、mac 和 windows
分别标识了不同操作系统下建议的默认快捷键设置,其中default表示:其他特定平台的键未指定时,该平台将使用通用的默认键设置。

description:快捷键的描述

当然,我们也可以访问:chrome://extensions/shortcuts,来查看和修改扩展的快捷键。
image.png

代码地址:传送门

总结
  • 使用快捷键要声明权限:commands
  • _execute_action:用于触发您的扩展中的action
  • suggested_key对象中有:default、chromeos、linux、mac 和 windows
  • 查看或修改扩展快捷键:chrome://extensions/shortcuts

创作不易,动动您发财的小手,点赞关注一波,支持我创作更多对您有帮助的文章!

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【UE5.3】笔记3-静态网格体,BSP

静态网格体组件 主要有两个属性 一个是静态网格体:对应的也就是模型,比如fbx,maya,obj等格式 一个是材质:由各种贴图、渲染设置等,比如unity里的shader BSP画刷: 打开放置Actor选项卡&#…

【Linux详解】进程的状态 | 运行 阻塞 挂起 | 僵尸和孤儿状态

目录 操作系统中 运行状态 阻塞状态 进程状态转换 Linux系统中 查看进程状态 深度睡眠状态 T 暂停状态 Z 僵尸状态 孤儿状态 文章手稿 xmind: 引言 介绍系统中的进程状态及其管理方式。将通过结合操作系统原理和实际代码示例,详细说明进程的各种状态、转换…

【插件】IDEA这款插件Key Promoter X,爱到无法自拔

文章目录 为什么选择Key Promoter X?1. 提升开发效率2. 友好的学习曲线3. 可定制性强 安装和配置Key Promoter X1. 安装插件2. 配置插件 使用Key Promoter X个人使用体验1. 快捷键记忆2. 定制化功能3. 整体体验提升 总结 🎉欢迎来到Java学习路线专栏~探索…

flink输出中文乱码

flink输出中文乱码 (1)首先在/etc/profile.d/my_env.sh中加入下面这行数据 export LANGzh_CN.UTF-8(2)其次在flink配置文件中指定编码 [xxxhadoop102 flink-1.13.6]$ vim conf/flink-conf.yaml加入下面这行数据 env.java.opts:…

基于IM948(Low-cost IMU+蓝牙)模块的高精度PDR(Pedestrian Dead Reckoning)定位系统 — 可以提供模块和配套代码

一、背景与意义 行人PDR定位系统中的PDR(Pedestrian Dead Reckoning,即行人航位推算)背景意义在于其提供了一种在GPS信号不可用或不可靠的环境下,对行人进行精确定位和导航的解决方案。以下是关于PDR背景意义的详细描述&#xff1…

Linux服务升级:Almalinux 升级 WebCatlog桌面程序

目录 一、实验 1.环境 2.Almalinux 升级 WebCatlog桌面程序 二、问题 1.Ubuntu如何升级 WebCatlog桌面程序 一、实验 1.环境 (1)主机 表1 主机 系统版本软件IP备注Almalinux9.4 WebCatlog 192.168.204.150 (2)Termi…

【尚庭公寓SpringBoot + Vue 项目实战】移动端项目初始化(十九)

【尚庭公寓SpringBoot Vue 项目实战】移动端项目初始化(十九) 文章目录 【尚庭公寓SpringBoot Vue 项目实战】移动端项目初始化(十九)1、 SpringBoot配置2、Mybatis-Plus配置3、Knife4j配置4、导入基础代码5、导入接口定义代码6…

node 实现导出, 在导出excel中包含图片(附件)

如果想查看 node mySql 实现数据的导入导出,以及导入批量插入的sql语句,连接如下 node mySql 实现数据的导入导出,以及导入批量插入的sql语句-CSDN博客https://blog.csdn.net/snows_l/article/details/139998373 一、效果如图: 二…

文件管理—linux(基础IO)

目录 ​编辑 一、C语言文件接口(库函数) hello.c写文件 hello.c读文件 输出信息到显示器 stdin & stdout & stderr 二、系统文件I/O(系统调用) hello.c 写文件: hello.c读文件 接口介绍 open open…

电脑开机之后屏幕没有任何显示?怎么检查?

前言 最近有很多小伙伴来咨询,自己的电脑开机之后,屏幕真的是一点显示都没有,只有CPU风扇在转。 这个情况小白经常经常经常遇到,所以写一篇关于这个问题的排查教程。按照这个教程来排查,除非真的是硬件损坏&#xff…

AI音乐大模型:深度剖析创意与产业的双重变革

随着AI技术的飞速发展,音乐大模型在最近一个月内纷纷上线,这一变革性技术不仅颠覆了传统的音乐创作方式,更是对整个音乐产业及创意产业带来了深远的影响。本文将从多个维度出发,深度剖析AI音乐大模型对创意与产业的双重变革。 一、…

数据库 |试卷1试卷2

1.数据库语言四大语句 4.四大类(DDL、DML、DQL、DCL)_中度ddl-CSDN博客 数据定义(data defination language) 查询、创建、删除、使用 #查询所有数据库 show databases;#查询当前数据库 select database();#创建数据库 create …

关于导入springcloud项目一些jar加载不进去的问题处理

IntelliJ IDEA的Maven项目有时候通过右边Maven Projects面板的package或者install命令打包的时候,会报错导致打包失败,这是由于这两个命令打包前默认会运行tests测试,若测试失败则打包失败。但是有时候我们打包的时候一些项目配置是针对生产环…

办公软件汇总

1、OCR 1.1 pearOCR pearOCR 是一个免费的免费在线文字提取OCR工具网站。PearOCR界面简洁,所有过程均在网页端完成,无需下载任何软件,点开即用。官方地址:https://pearocr.com/ 参考:9款文字识别(OCR)工具…

【深度学习】GPT-3,Language Models are Few-Shot Learners(一)

论文: https://arxiv.org/abs/2005.14165 摘要 最近的研究表明,通过在大规模文本语料库上进行预训练,然后在特定任务上进行微调,可以在许多NLP任务和基准上取得显著的进展。虽然这种方法在结构上通常是任务无关的,但…

【AI大模型】GPTS 与 Assistants API

前言 2023 年 11 月 6 日,OpenAI DevDay 发表了一系列新能力,其中包括:GPT Store 和 Assistants API。 GPTs 和 Assistants API 本质是降低开发门槛 可操控性和易用性之间的权衡与折中: 更多技术路线选择:原生 API、…

啥移动硬盘格式能更好兼容Windows和Mac系统 NTFS格式苹果电脑不能修改 paragon ntfs for mac激活码

对于同时使用Windows和Mac操作系统的用户而言,选择一个既能确保数据互通又能满足大容量存储需求的移动硬盘格式尤为重要。下面我们来看看啥移动硬盘格式能更好兼容Windows和Mac系统,NTFS格式苹果电脑不能修改的相关内容。 一、啥移动硬盘格式能更好兼容…

充电学习—8、Type-C TCPC TCPCI

TCPC是usb Type-C port controller; 通用串行总线C型端口控制器 TCPCI是tcpc控制器接口规范; TCPC是个功能块,其中含有VBUS和VCONN的电源控制功能,CC信号的处理 逻辑,PD应用中的BMC物理层和协议层(PD信息…

基于redisson实现tomcat集群session共享

目录 1、环境 2、修改server.xml 3、修改context.xml 4、新增redisson配置文件 5、下载并复制2个Jar包到Tomcat Lib目录中 6、 安装redis 7、配置nginx负载均衡 8、配置测试页面 9、session共享测试验证 前言: 上篇中,Tomcat session复制及ses…

Labview_映射表

1.创建映射表 创建映射表时,该映射表内的所有键为同一类型、键为同一类型。映射表键名可以为任意类型。 PS:生成映射表在使用时请保证唯一键名,如使用同一键名,则在最终输出时只能搜索到最新插入的键值对信息。 2.插入映射表 按照已创建的映…