Как захватить нажатие клавиатуры в расширении Edge - PullRequest
0 голосов
/ 06 мая 2018

Я строил небольшое расширение Edge, просто чтобы посмотреть, как оно работает, в прошлом я сделал несколько для Chrome.

Однако, согласно документам Edge API, не поддерживается манифест-ключ MDN "команды" для захвата нажатий клавиш.

Что эквивалентно в Edge для достижения этой цели? Слушатель клавиатуры в фоновом скрипте может быть? Я видел, как другие расширения регистрировали нажатия клавиш, например, LastPass с Alt + G для генерации паролей и так далее, так что просто интересно, нашел ли кто-нибудь решение для этого?

Спасибо.

1 Ответ

0 голосов
/ 13 июня 2018

Для этого вы можете добавить скрипт контента на каждый веб-сайт или веб-сайты, с которыми вы хотите использовать эту функцию. В скрипте содержимого вы должны прослушивать события клавиатуры, а когда вы встречаете ожидаемое событие клавиатуры, вы можете отправить сообщение в фоновый скрипт. В фоновом скрипте вы можете создать новую вкладку с html-страницей вашего расширения (как это делает LastPass) или сделать что-то еще, как вы пожелаете.

Вы можете использовать API runtime.sendMessage в Content Script для отправки сообщения в фоновый скрипт. В фоновом скрипте вы можете использовать runtime.onMessage для прослушивания этих сообщений. Вы можете погуглить эти API, и они довольно просты для понимания.

Чтобы связать события клавиатуры, вы можете обратиться к этой теме в StackOverflow:

Одновременное нажатие нескольких клавиш JavaScript

...