這是一個 chrome 擴展,可以清除網頁的輸入欄位。當我點擊擴展時,它作業得很好。
我試圖給它一個鍵盤快捷鍵。起初它可以作業,但是第二天我打開 chrome 擴展程式時不存在(可能是因為我將擴展程式保存在 chrome 的組態檔檔案夾中/home/user/.config/google-chrome/Profile 3/Extensions/)。所以 chrome 可能沒有識別并洗掉它,因為它不是來自商店。
我再次添加了它,但這次鍵盤快捷鍵不起作用。我沒有任何開發擴展的知識。我只是查看了 google.developer 指南并創建了這個。
// manifest.json
{
"name": "Reset Answers",
"description": "Resets checkboxes, radio button, Input Text!",
"version": "0.0.0.1",
"manifest_version": 3,
"background": {
"service_worker": "background.js"
},
"permissions": ["activeTab", "scripting"],
"action": {},
"commands": {
"_execute_action": {
"suggested_key": "Alt C",
"description": "clears input fields"
}
},
"icons": {
"16": "/images/icon16.png",
"48": "/images/icon48.png",
"128": "/images/icon128.png"
}
}
// background.js
chrome.action.onClicked.addListener((tab) => {
chrome.scripting.executeScript({
target: {tabId: tab.id},
func: clear,
});
});
function clear() {
var elements = document.getElementsByTagName("input");
for (let i = 0; i < elements.length; i ) {
if (elements[i].type == "text" || elements[i].type == "number") {
elements[i].value = "";
} else if (elements[i].type == "radio" || elements[i].type == "checkbox") {
elements[i].checked = false;
}
}
}
chrome.commands.onCommand.addListener((command) => {
});
我嘗試clear在該事件偵聽器函式中呼叫函式也不起作用。
chrome://extension/shortcuts頁面顯示了這樣的擴展名和快捷方式,但它不起作用。

Alt C沒有用于我電腦上的任何其他鍵盤快捷鍵。我在這里做錯了什么?
uj5u.com熱心網友回復:
某些作業系統和 Chrome 快捷方式(例如視窗管理)始終優先于擴展命令快捷方式并且不能被覆寫。
當輸入 Ctrl Shift 1 時,以下示例輸出到 console.log。
清單.json
{
"name": "hoge",
"version": "1.0",
"manifest_version": 3,
"commands": {
"command1": {
"suggested_key": "Ctrl Shift 1",
"description": "hoge"
}
},
"background": {
"service_worker": "background.js"
}
}
背景.js
chrome.commands.onCommand.addListener((c) => {
switch (c) {
case "command1":
console.log("command1");
break;
}
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/517903.html
標籤:谷歌浏览器谷歌浏览器扩展
