我正在尝试编写chrome扩展程序。我正面临一些问题。我无法在Chrome扩展程序中使用commands。下面给出了我编写的代码。
这是我的manifest.json
文件。
{
"manifest_version": 2,
"name": "Test",
"description": "This is just a test",
"version": "1.0",
"browser_action": {
"default_icon": "icon.png"
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["content.js"]
}
],
"commands": {
"toggle-feature-foo": {
"suggested_key": {
"default": "Ctrl+Shift+1",
"mac": "Command+Shift+1"
},
"description": "Show Alert"
}
}
}
以下是content.js
文件。
alert("This is just a test 3");
chrome.commands.onCommand.addListener(function(command) {
alert('Command:', command);
});
问题:我可以看到第一个提醒。但是当我按 Ctrl + Shift + 1 时,我无法看到第二个警报。我做错了什么?
答案 0 :(得分:1)
Content Script
无法使用chrome.* APIs
,但以下情况除外:
extension ( getURL , inIncognitoContext , lastError , onRequest , sendRequest )
https://developer.chrome.com/extensions/extension#method-getURL i18n
https://developer.chrome.com/extensions/i18n runtime ( connect , getManifest , getURL , id , onConnect , onMessage , sendMessage )
https://developer.chrome.com/extensions/runtime storage
https://developer.chrome.com/extensions/storage <强>解决方案:强>
在background page
中添加您的代码或使用message passing
https://developer.chrome.com/extensions/messaging