我知道我们不能直接从后台JavaScript打开Chrome扩展程序弹出窗口。但是,是否有一种方法可以在用户按下某些键组合时打开弹出窗口?
我知道我们不能直接从后台JavaScript打开Chrome扩展程序弹出窗口。但是,是否有一种方法可以在用户按下某些键组合时打开弹出窗口?
Chrome.commands API可让用户绑定热键,触发诸如打开浏览器操作等命令。
例如:https://github.com/GoogleChrome/chrome-extensions-samples/tree/main/_archive/mv2/api/commands(按下Ctrl+Shift+F(在Mac上是Command+Shift+F),以打开浏览器操作弹出窗口;按下Ctrl+Shift+Y(在Mac上是Command+Shift+Y)来发送事件。)
manifest.json
和任何相关文件,以使扩展在用户按下热键时打开? - Abhijeet Singhmanifest_version
,那么您的manifest.json应该像下面这样,以便使用键盘快捷方式打开弹出窗口。_execute_action
,而这个_execute_action
会调用默认打开弹出窗口的action
。{
"manifest_version": 3,
"name": "Search Hindi Website",
"version": "1.0",
"description": "Search a Hindi website using English text",
"icons": {
"16": "icon16.png",
"32": "icon32.png",
"48": "icon48.png",
"128": "icon128.png"
},
"permissions": ["scripting", "activeTab"],
"action": {
"default_popup": "popup.html",
"default_icon": {
"16": "icon16.png",
"32": "icon32.png",
"48": "icon48.png",
"128": "icon128.png"
}
},
"background": {
"service_worker": "background.js"
},
"content_scripts": [
{
"matches": ["https://*/*"],
"css": ["mark.css"]
}
],
"commands": {
"_execute_action": {
"suggested_key": {
"default": "Alt+Shift+P",
"mac": "MacCtrl+Command+P"
}
}
}
}
对于 manifest_version
2,其内容类似于以下内容
{
"manifest_version": 3,
"name": "Search Hindi Website",
"version": "1.0",
"description": "Search a Hindi website using English text",
"icons": {
"16": "icon16.png",
"32": "icon32.png",
"48": "icon48.png",
"128": "icon128.png"
},
"permissions": ["scripting", "activeTab"],
"browser_action": {
"default_popup": "popup.html",
"default_icon": {
"16": "icon16.png",
"32": "icon32.png",
"48": "icon48.png",
"128": "icon128.png"
}
},
"background": {
"service_worker": "background.js"
},
"content_scripts": [
{
"matches": ["https://*/*"],
"css": ["mark.css"]
}
],
"commands": {
"_execute_browser_action": {
"suggested_key": {
"default": "Alt+Shift+E",
"mac": "MacCtrl+Command+E"
}
},
}
}
Signs point to yes
- Jaromanda X