1

有人可以解釋我如何將一個鍵同樣「ctrl + k」綁定到一段JavaScript代碼以鏈接到谷歌Chrome擴展?這應該適用於任何打開的網頁。對鍵綁定谷歌瀏覽器擴展的操作

+0

你看過文檔和樣例擴展嗎? http://developer.chrome.com/extensions/commands.html – rsanchez

+0

是的,我做了,但我仍然感到困惑,因爲我不明白我應該如何綁定任何類型的動作來點擊keybind。我應該在背景頁面中寫下這些內容嗎?我應該如何將相同的功能專門寫入「ctrl + k」? – user2510745

回答

4

在你的清單,你指定:

"commands": { 
    "my-command-name": { 
    "suggested_key": { 
     "default": "Ctrl+K", 
    }, 
    "description": "My description" 
    } 
} 

然後,在你的後臺頁面,你可以這樣做:

chrome.commands.onCommand.addListener(function(command) { 
    if(command === "my-command-name") { 
    // Do your stuff 
    } 
}); 

編輯

一個問題似乎是該組合Chrome不會默認分配Ctrl+K,因爲它通常用於其他目的。如果您指定Ctrl+K作爲默認快捷方式,則該命令將沒有指定的快捷方式,用戶需要從chrome://extensions頁面底部的「鍵盤快捷鍵」鏈接指定一個快捷方式。

如果您使用其他組合,例如Ctrl+Shift+K,它可能會由Chrome自動分配。您始終可以在提到的鏈接中檢查Shorcuts分配,並以編程方式使用chrome.commands.getAll

另請注意,如果您更改清單並重新加載擴展名,建議的快捷鍵中的更改將不會產生任何影響。您需要刪除擴展名並再次添加它才能考慮建議的shorcut鍵。

+0

嗯你確定如果條件?它沒有工作...只要擴展名被激活,該方法應該在瀏覽器的任何頁面中工作? – user2510745

+0

@ user2510745 if條件中存在拼寫錯誤。我還添加了更多信息。 – rsanchez

+0

它終於工作了!非常感謝,我真的很感激!顯然我真的不得不重新加載整個擴展,你碰巧知道這個技術原因? Ty再次提前! – user2510745