Chrome уничтожит всплывающие окна в интернете
Создатели браузера Chrome призвали веб-разработчиков изменить алгоритм работы с всплывающими на сайтах диалоговыми окнами, требующими отклика пользователя и потенциально используемыми злоумышленниками.Окна прикрываются
По мнению разработчиков браузера Google Chrome, всплывающие окна-уведомления на JavaScript создают «слишком много возможностей для злоупотреблений». Команда разработчиков Chrome намерена их запретить, пишет издание The Register.
В качестве примера представители Google приводят популярные у интернет-мошенников и раздражающие пользователей сайты с всплывающими уведомлениями, сигнализирующими об обнаружении вируса и предлагающими установить фальшивый антивирус, обновить браузер, имитирующими системные ошибки и т.п.
Как сделать всплывающие уведомления безопасными
В блоге для разработчиков Google поясняет, что первые версии JavaScript, представленные в 1995 г., имели три функции взаимодействия с пользователем - alert(), confirm() и prompt(). Со временем их синхронные API стали конфликтовать с современными версиями браузеров.
Диалоговые окна являются модальными - движок JavaScript останавливается до получения отклика пользователя, что при злонамеренном использовании ведет к блокировке всего браузера.

Для борьбы с ними Google планирует в ближайшей перспективе изменить обработку JavaScript, сделав функции alert(), confirm() и prompt() немодальными. Это уже реализовано в браузере Safari, где всплывающее JavaScript-окно исчезает при переходе пользователя на другую вкладку.
Еще одним потенциальным новшеством может стать возможность отказа от показа alert(), confirm() и prompt() в том случае, если пользователь не взаимодействует с веб-страницей. «Детали такого варианта еще обсуждаются», - отметили в Google.
HTML на замену JavaScript
Кроме того, Google рекомендует разработчикам несколько других вариантов использования уведомлений. К примеру, они могут применять функцию Notifications API. Для получения отклика от пользователя ей предусмотрено диалоговое окно HTML. Работающие с межсайтовым скриптингом могут использовать метод console.log. На мобильных же платформах рекомендуется использовать API, которое позволяет узнать, видит ли пользователь ваш сайт - Page Visibility API.