Есть ли способ программно вызвать комбинации клавиш из Javascript? Например, возьмите gmail.com, где нажатие «e» приведет к архивированию выбранного письма.
Могу ли я написать код любого типа (скажем, в расширении Chrome), который может имитировать пользователя, нажимающего «e» на клавиатуре?
Например, я попытался вставить в консоль Chrome что-то вроде копирования:
document.body.addEventListener('keydown', function(event) {
console.log('key detected: ', event);
});
document.body.addEventListener('click', () => {
console.log('click...');
document.body.dispatchEvent(new KeyboardEvent('keydown', {
'key': 'e',
'keyCode': 69,
'which': 69,
'code': 'KeyE',
'isTrusted': true, // this has no effect
'bubbles': true,
'cancelable': true,
'view': window,
'charCode': 0,
}));
});
Так что любой щелчок на странице напечатает клавишу, которая выглядит так же как нажав «е» на клавиатуре. Но нажатие кнопки события нажатия не запускает функцию «архив» в Gmail.
Это событие не является доверенным, и невозможно сделать то, что я хотел?