Программный запуск Ctrl + S

Я хотел бы выпустить событие Ctrl S keydown с использованием JavaScript. В идеале решение работает в большинстве современных браузеров (до IE 9).

Я пишу тесты и нуждаюсь в проверке моего обработчика для привязки клавиш. Ctrl S является просто примером, это может быть любое связывание ключей с ключом-модификатором. Я знаю о методе keyEvent.initKeyboardEvent(), но я не смог правильно его использовать, чтобы вызвать то же самое событие, которое я получил при распечатке полного события клавиатуры после нажатия клавиши с клавиатуры.

Ответ 1

Я хотел бы выпустить событие Ctrl S keydown

Вы имеете в виду, чтобы вызвать диалог браузера "Сохранить как" или что-то еще? Это невозможно по соображениям безопасности. Было бы огромной проблемой безопасности, если бы это было - представьте себе: каждый веб-сайт может произвольно запускать функции браузера.

Ответ 2

Вы не можете и не должны по соображениям безопасности (как уже указывал Пекка). Вы всегда будете требовать взаимодействия пользователя между ними. Кроме того, представьте себе вероятность того, что пользователи браузеров будут привлечены к ответственности со стороны пользователей, поскольку различные программные события клавиатуры приведут к подделке атак.

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

Аналогичный подход безопасности применяется в случае политики выбора CORS для программного доступа к удаленному контенту.

Ответ:
Невозможно программно запускать клавиши ввода в изолированной среде браузера при нормальных условиях.

Bottomline: Я не говорю, что в будущем это будет невозможно, в специальных режимах браузера и/или привилегиях по отношению к конечной цели игр или подобным пользователям. Однако перед входом в такие режимы пользователю будут предложены разрешения и риски, похожие на полноэкранный API-модель. (Я включил ссылку поиска google, так как она аккуратно включает соответствующие текстовые строки в результатах поиска)

enter image description here