Я разрабатываю расширение Google Chrome, которое имитирует события клавиатуры на веб-странице.
Я обнаружил, что event.initKeyboardEvent()
не работает должным образом из-за этой ошибки webkit, и я также нашел некоторые обходные пути, например SO-вопрос
Однако определение свойств объекта события не работает, потому что сценарий содержимого расширения имеет свой собственный «параллельный мир», поэтому свойства, определенные в сценарии содержимого, не видны сценарию веб-страницы.
Моя единственная и последняя надежда, что конструкторы событий DOM 4 работают в Google Chrome и можно будет правильно инициализировать событие клавиатуры через конструктор.
var event = new KeyboardEvent("keypress", {key: 'U+0041', char: 'a', ... })
К сожалению, это не удается:
TypeError: illegal constructor
Мне не удалось найти документацию по поддерживаемым конструкторам событий в Chrome. Может ли кто-нибудь указать мне на какие-то документы / исходный код?
Есть ли другой способ имитировать события клавиатуры в расширении Google Chrome?
(обратите внимание, TextEvent не поможет, потому что многие реальные элементы управления специально слушают _4 _ / _ 5_)