browserstack ctrl + enter, событие клавиатуры не регистрируется в Chrome или IE

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

Я пытаюсь определить, когда пользователь нажимает ctrl + enter. У меня есть фрагмент кода ниже, который отлично работает в Chrome на моем MacBook. Однако, когда я использую Browserstack для запуска в Windows 10 с Chrome 87 (последняя версия), он не регистрирует правильное событие клавиатуры.

Действия по воспроизведению

  1. На MacBook перейдите на www.browserstack.com.
  2. Начните прямую трансляцию с этого сообщения в качестве URL: https://stackoverflow.com/questions/65113392
  3. Выберите Windows 10 Chrome 87 (последняя версия)
  4. Нажмите кнопку «Запустить фрагмент кода» ниже в стеке браузера.
  5. Щелкните поле ввода
  6. Нажмите ctrl + enter

Ожидаемое поведение: Я вижу ключ: Enter, ctrlKey: true

Наблюдаемое поведение: я вижу ключ: Control, ctrlKey: true

const input = document.getElementById('input')
const output = document.getElementById('output')
input.addEventListener('keydown', (e) => {
  output.innerText = `key: ${e.key}, ctrlKey: ${e.ctrlKey}`
})
<input type="text" id="input" />
<div id="output"></div>


person williamcodes    schedule 02.12.2020    source источник
comment
Я не мог воспроизвести это. Здесь, в Chrome и Edge (IE отказался загружать и открыл Edge), он меняется с Control, ctrlKey: true на Enter, ctrlKey: true, как только я нажимаю Enter. Конечно, он делает дополнительный шаг с помощью клавиши управления, потому что клавиша управления была первой клавишей, которая опустилась (клавиша вниз).   -  person E. Zacarias    schedule 02.12.2020
comment
@ E.Zacarias, какую версию windows и chrome вы используете?   -  person williamcodes    schedule 03.12.2020
comment
@ E.Zacarias Я только что воспроизвел это снова в Windows 10 с Chrome 87 (последняя версия). Какую клавиатуру вы используете? Я использую клавиатуру MacBook.   -  person williamcodes    schedule 03.12.2020
comment
Вы правы, я использую клавиатуру ПК (Windows 10, Chrome 87.0.4280.88). Вы пробовали другие комбинации, например Command + Enter? Больше я ничем не могу помочь, но я знаю, что клавиша Ctrl на ПК не такая, как на Mac. Ссылка: oreilly.com/library/view/switching- to-the / 9781449372927 /   -  person E. Zacarias    schedule 03.12.2020
comment
@ E.Zacarias Да, я пробовал Cmd + Enter. Интересно, что Cmd также регистрируется как Ctrl, но имеет ту же проблему, что и Ctrl + Enter. Я отправил запрос в Browserstack, и они подтвердили, что смогли воспроизвести ошибку, но еще не нашли первопричину.   -  person williamcodes    schedule 06.12.2020
comment
Я только что получил еще одно обновление от Browserstack. В нем говорится, что я хотел бы поделиться, что наша команда инженеров исследовала проблему. Однако основная причина до сих пор остается неустановленной. Сказав это, команда будет повторно посещать это дело в последующих итерациях, и я обязательно буду уведомлять вас об обновлениях, а также обновлять вопрос о переполнении стека. А пока я временно архивирую этот билет с нашей стороны. Однако я повторно открою заявку, как только мы определим основную причину и сообщим вам информацию. Похоже, они не могли этого понять и сдались. ¯_ (ツ) _ / ¯   -  person williamcodes    schedule 09.12.2020


Ответы (1)


Я поговорил со службой поддержки Browerstack. Они смогли подтвердить, что это ошибка в Browserstack. Я думаю, это связано с тем, как они переключают клавиши cmd и ctrl. В любом случае, похоже, они не ставят ошибку в приоритет.

Если вы работаете над приложением, в котором вам нужно нажать ctrl + enter (например, чтобы отправить комментарий, чтобы пользователи могли использовать клавишу ввода для создания новой строки), лучший вариант для тестирования - https://www..lambdatest.com. Я проверил всех других основных конкурентов, и LambdaTest - единственный, у которого есть бесплатное живое тестирование, хотя вам нужно зарегистрировать учетную запись, в отличие от Browserstack. В LambdaTest нет этой ошибки, поэтому я смог отлично протестировать эту функцию.

person williamcodes    schedule 09.12.2020