Сегодня возникла очень специфическая проблема, связанная с тем, как Chrome, похоже, фокусируется на веб-приложении.
Во всех других протестированных браузерах (Firefox, Safari, Windows Edge) в SPA, навигация в приложении с использованием уровня хрома (т. Е. Кнопок браузера) назад и вперед только вызывает событие popstate
, как и ожидалось.
Однако в Chrome нажатие кнопок назад / вперед сначала вызывает событие размытия окна, а затем ожидаемые события popstate
. Пользователь должен щелкнуть обратно в приложение, после чего запускается событие фокусировки окна.
Я создал упрощенный пример здесь, https://codepen.io/anon/pen/ROmeZb. Чтобы повторить проблему, сначала покажите вашу консоль разработчика. Затем нажмите по порядку ссылки № 1, № 2, № 3, № 4 в разделе html. Наконец, нажмите кнопку возврата браузера и увидите, что событие blur
сработало. Возвращение в раздел html вызовет событие focus
.
Это происходит только в Chrome (последняя версия v74).
У кого-нибудь есть потенциальное решение для предотвращения размытия в Chrome при использовании кнопки браузера «назад / вперед»?