Событие onCommand

После определения клавиш быстрого доступа для расширения, вы можете указать свою функцию слушатель при помощи метода onCommand(chrome.commands.onCommand).

Листинг 2-5. Chapter2/HelloShortcutKey/event_script.js
//region {variables and functions}
var consoleGreeting = "Hello World! - from event_script.js";
var details = {"path":"icon-2.png"};
//end-region

//region {calls}
console.log(consoleGreeting);
chrome.commands.onCommand.addListener(function(command) {
    chrome.browserAction.setIcon(
        details,
        function() {/**/}
    );
});
//end-region

В листинге 2-4 и 2-5 наведён пример кода из расширения HelloShortcutKey. Данное расширение для Browser-Action устанавливает иконку, загруженную из файла icon-1.png. С помощью слушателя onCommand и метода chrome.browserAction.setIcon происходит замена иконки на icon-2.png (Рисунок 2-9).

Рисунок 2-9. Файлы расширения HelloShortcutKey

Рисунок 2-9. Файлы расширения HelloShortcutKey.

Как видно из листинга 2-5, метод addListener используется для подключения к onCommand функцию обработчик события. Соответственно функция получает строковый аргумент «command», который содержит имя идентификатора (например: “shortcut-key to change the extension icon”) нажатых горячих клавиш. Сама функция меняет иконки расширения.

Указанный аргумент полезен, когда в манифесте задано больше одной комбинации клавиш. Для того, чтобы определить какую команду нужно выполнить желательно расширить функцию с помощью оператора switch.

Примечание:
Не запутайтесь между методами addListener и addEventListener. Последний относится к DOM API.

results matching ""

    No results matching ""