Я загрузил этот образец расширения из документации Chrome, который использует API команд.
manifest.json
{
"name": "Sample Extension Commands extension",
"description": "Press Ctrl+Shift+F (Command+Shift+F on a Mac) to open the browser action popup, press Ctrl+Shift+Y to send an event (Command+Shift+Y on a Mac).",
"version": "1.0",
"manifest_version": 2,
"background": {
"scripts": ["background.js"],
"persistent": false
},
"browser_action": {
"default_popup": "browser_action.html"
},
"commands": {
"toggle-feature": {
"suggested_key": { "default": "Ctrl+Shift+Y" },
"description": "Send a 'toggle-feature' event to the extension"
},
"_execute_browser_action": {
"suggested_key": {
"default": "Ctrl+Shift+F",
"mac": "MacCtrl+Shift+F"
}
}
}
}
background.js
chrome.commands.onCommand.addListener(function(command) {
console.log('onCommand event received for message: ', command);
});
Очень просто, но обратный вызов слушателя не запускается - я не получаю ни вывода в консоли, ни каких-либо ошибок. Если я использую другой API, например вкладки, мои слушатели запускаются должным образом, это просто API команд, который у меня не работает.
chrome://extensions
и проверьте, действительно ли ваши клавиши назначены вашим командам, используя ссылку «Сочетания клавиш» в правом нижнем углу. - person rsanchez   schedule 26.10.2013