Предупреждение Javascript блокирует страницу в IOS Chrome после использования ввода файла

Это проблема с 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. Сафари вроде нормально работает.

Вы пробовали со старым форматом ES5?

Davide Vitali 08.03.2019 02:56

Да вроде не важно. Попытка активировать оповещение блокирует браузер

georaldc 08.03.2019 03:18

Хм, похоже на ошибку iOS!

Davide Vitali 08.03.2019 06:17
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
147
1

Ответы 1

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

До сих пор модальные окна также стали решением, которое я придумал, но я все же хотел бы знать, почему нативные оповещения вызывают проблемы (если только это не ошибка браузеров iOS).

georaldc 06.04.2019 00:16

Другие вопросы по теме