расширение chrome: как получить ключевые события - PullRequest
21 голосов
/ 31 марта 2011

Есть ли способ получить ключевые события в файле расширения Google Chrome - background.html -?

document.onkeydown = function() {
  alert('test)
};

Предыдущий код не работает.

Ответы [ 2 ]

49 голосов
/ 29 августа 2013

Не уверен, что это все еще активно, но обновление может помочь кому-то вроде меня, который только сейчас играет с расширениями Chrome. Новые команды api позволяют получать те же функции без использования скрипта содержимого.

Используйте ваш файл manifest.json для регистрации команд клавиатуры. Например:

...    
"commands": {
    "save" : {
        "suggested_key": {
             "default": "Alt+Shift+S" 
        },
        "description": "Save a link"
    },
    "random": {
        "suggested_key": {
            "default": "Alt+Shift+L"
        },
        "description": "Load a random link"
    }
}
...

и тогда вы можете поймать его на своей фоновой странице

chrome.commands.onCommand.addListener(function (command) {
    if (command === "save") {
        alert("save");
    } else if (command === "random") {
        alert("random");
    }
});

Надеюсь, это поможет!

29 голосов
/ 31 марта 2011

Я предполагаю, что вы хотите реализовать горячие клавиши для вашего расширения.Ваш код на самом деле должен работать, за исключением того, что он работает на фоновой странице, которая обычно не открыта для перехвата нажатий клавиш.

Чтобы перехватывать нажатия клавиш глобально или, по крайней мере, на веб-страницах, вам придется использовать скрипт содержимого , который отправляет сообщения на фоновую страницу.Сценарий содержимого внедряется в открытую веб-страницу и вставляет методы для перехвата нажатий клавиш, а затем отправляет сообщение на фоновую страницу с информацией о том, какие клавиши были нажаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...