Это проблема с Chrome или я что-то не так делаю? Я заметил, что если я использую элемент ввода файла, чтобы отобразить подсказку файлового браузера/камеры, а затем дополню его чем-то, что вызовет предупреждающее сообщение, он заблокирует всю страницу, вынуждая меня убить приложение, чтобы все заработало. опять таки. Вот простой jsfiddle, который показывает проблему:
https://jsfiddle.net/etc4bxpq/
HTML:
<input type = "file">
<button id = "btn">Click me</button>
JS:
document.querySelector('#btn').addEventListener('click', event => {
alert(1);
});
Нажмите на ввод файла, затем нажмите на кнопку «Нажми меня». Предупреждение не сработает, и страница заблокируется. Кажется, это происходит только с Chrome на IOS. Сафари вроде нормально работает.
Да вроде не важно. Попытка активировать оповещение блокирует браузер
Хм, похоже на ошибку iOS!



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Такая же ошибка с теми же условиями. Я попытался обернуть свои предупреждения и подсказки с помощью функции setTimeout, как это было предложено некоторыми, но у меня это не сработало, попытался ввести ввод на другой странице и вызвать его внутри iframe, у меня также не сработало. Единственное решение, которое работает для меня, - это использовать модальные окна оповещения вместо встроенной функции оповещения и подсказки javascript. Также, если вы откроете меню настроек Chrome и закроете его, скрипт продолжит выполнение, что очень странно.
До сих пор модальные окна также стали решением, которое я придумал, но я все же хотел бы знать, почему нативные оповещения вызывают проблемы (если только это не ошибка браузеров iOS).
Вы пробовали со старым форматом ES5?