The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Разработчики Chrome намерены ограничить всплывающие диалоги на JavaScript

30.03.2017 11:59

Разработчики web-браузера Chrome рассматривают возможность ограничения диалогов, реализуемых средствами JavaScript и блокирующих просмотр контента. В основной массе подобные диалоги применяются для навязывания каких-то действий и вызывают значительное недовольство среди посетителей.

Помимо раздражающих, но безвредных и одобренных владельцами ресурсов, всплывающих диалогов, в которых предлагается пройти различные опросы, обратиться к online-консультанту, подписаться на канал в социальной сети или подтвердить закрытие страницы, последнее время участились случаи использования данных диалогов для мошенничества или совершения вредоносных действий. Например, через рекламные сети или взлом сайтов продвигаются блоки, предлагающие обновить браузер чтобы продолжить просмотр страницы или установить поддельный антивирус под предлогом обнаружения в системе вируса, а также симулирующие возникновение системной ошибки и предлагающие позвонить по указанному номеру телефона.

Рассматривается несколько путей блокирования назойливых всплывающих диалогов, с сохранением возможности их применения по назначению. Вместо блоков, перекрывающих содержимое и останавливающих дальнейшую работу со страницей/браузером, для вывода уведомлений предлагается использовать Notifications API для показа не блокирующих работу уведомлений и HTML-тег dialog для организации ввода, а для отладочных целей console.log(document.origin).

На первом этапе предлагается изменить реализацию функций alert(), confirm() и prompt(), сделав их немодальными (не блокирующими страницу) и, по аналогии с тем, как это реализовано в браузере Safari, обеспечить их автоматическое закрытие при переключении на другую вкладку. Также рассматривается возможность отключения показа диалогов alert(), confirm() и prompt(), если пользователь просто просматривает страницу, не взаимодействуя с ней.



  1. Главная ссылка к новости (https://www.theregister.co.uk/...)
  2. OpenNews: Выпуск web-браузера Chrome 57
  3. OpenNews: В Chrome тестируют новый подход к компиляции JavaScript
  4. OpenNews: В Chrome введены ограничения на установку сторонних дополнений
  5. OpenNews: В Chrome вводятся ограничения по воспроизведению Flash-контента
  6. OpenNews: На соревновании Pwn2Own 2017 продемонстрированы взломы Ubuntu и Firefox
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: chrome
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (62) Ajax | 1 уровень | Линейный | Раскрыть всё | RSS
  • 1.1, brzm (?), 12:03, 30/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +36 +/
    > сделав их немодальными

    Давно, блин, пора!

     
     
  • 2.4, Аноним (-), 12:20, 30/03/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А сохранение так и останется модельным: ни выделить текст на странице, ни прокрутить?

    Кстати, на хромиуме у меня можно открыть дважды диалог сохранения, быстро быстро нажимая на crtl+s если, например, проблема с разрешием DNS. И тогда один диалог куда-то улетает, и блокирует интерфейс, приходится закрывать весь браузер.

    Полагаю, с этим будут бороться в первую очередь

     
     
  • 3.7, brzm (ok), 12:44, 30/03/2017 [^] [^^] [^^^] [ответить]  
  • +11 +/
    IMO, модальные окна в принципе зло, везде. Даже если нужно непременное вмешательство пользователя, то основное окно можно хотя бы оставить на read-only, скопировать ввод, справку вызвать, да что угодно.
     
     
  • 4.13, Аноним (-), 13:35, 30/03/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А тебя не беспокоит, что по документации окно модальное, а браузер показывает его как немодальное?

    Тебя не беспокоит, что вызванная функция не будет выполнена потому что пользователь захотел не выполнять эту функцию (не показывать больше окна)?

    Это уже не программирование, дружок...

     
     
  • 5.17, rshadow (ok), 14:04, 30/03/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Обычное программирование. Просто тупое решение "в лоб" одной функцией, меняется на более дружественное пользователю через пару ивентов.

    Раньше: показал модальный диалог, если пользователь сказал "да" то что-то сдела, если "нет" то не сделал. Теперь будет: отправил event на подтверждение пользователем, позже если пришел event с подтверждением то делаешь, если не пришел/пришел с "нет" не делаешь.

     
  • 5.57, YetAnotherOnanym (ok), 10:42, 31/03/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Тебя не беспокоит, что вызванная функция не будет выполнена потому что пользователь захотел не выполнять эту функцию

    Как пользователя меня это только радует.

     
  • 5.59, brzm (ok), 21:39, 31/03/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А тебя не беспокоит, что по документации окно модальное, а браузер показывает
    > его как немодальное?
    > Тебя не беспокоит, что вызванная функция не будет выполнена потому что пользователь
    > захотел не выполнять эту функцию (не показывать больше окна)?
    > Это уже не программирование, дружок...

    Во-первых, давайте без фамильярностей.
    Во-вторых, вы плохо поняли то, что я написал. Модальное окно подразумевает, в плане взаимодействия пользователя с программой то, что я не могу сделать деструктивных изменений. Про "не показывать окно вообще" никто не говорил. Как сломает то, что я как писал выше -- буду иметь возможность выделить какое-то поле в заполненной формочке? Или действительно вызову справку? Чем это помешает программе?
    В-третих, если "настоящее программирование" это прогибание пользователя под свои корявые взгляды на UI, то туда ему и дорога. На своём десктопе я модальность у окон вырезал как класс, и ничего пока не сломалось. О чём вы говорите?

     
  • 4.28, incker (?), 17:16, 30/03/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Бывает пользователь хочет закрыть страницу не сохранив прогресс. Уведомление быть должно
     
  • 4.29, Аноним (-), 17:54, 30/03/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Снова дилетантский подход Зло, но не везде Блокирующие окна нужны чтобы разреш... текст свёрнут, показать
     
  • 4.45, Линукс еще не готов (?), 23:40, 30/03/2017 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Алё иксперд. Модальное окно необходимо чтобы сохранить контекст приложения, в котором оно было вызвано и в котором альтернативы, предлагаемые модальным окном, имеют смысл.
     
     
  • 5.49, Аноним (-), 01:02, 31/03/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Раньше на опеннете подобный позор было сложно встретить.
     

  • 1.2, Аноним (-), 12:08, 30/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    > По мнению разработчиков, в основной массе подобные диалоги применяются для навязывания каких-то действий и вызывают значительное недовольство среди посетителей.

    Да ладно?!

     
     
  • 2.36, grsec (ok), 19:17, 30/03/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    100%. Запустили в интернет всяких разрабов-гомобоев, которые загадили web. Теперь все страдают.
     

  • 1.3, Аноним (-), 12:15, 30/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    Больше всего бесит когда поверх страницы выводится предложение подписаться на канал в Facebook или предлагаются услуги online-консультанта, на сайтах мелких фирмочек это стало модным.
     
     
  • 2.6, Аноним (-), 12:25, 30/03/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >  Больше всего бесит когда поверх страницы выводится предложение подписаться на канал в Facebook или предлагаются услуги online-консультанта, на сайтах мелких фирмочек это стало модным.

    Этих никто трогать не будет, они не через alert() сделаны.

     
     
  • 3.30, Аноним (-), 17:56, 30/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Удалять перманентно. Больше не всплывет.
     
  • 2.46, Sabakwaka (ok), 00:10, 31/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >> услуги online-консультанта, на сайтах мелких фирмочек

    Голосуй ногами.

    НЕ посещай сайты, которые тебя раздражают.

     
     
  • 3.60, Аноним (-), 08:01, 01/04/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Кругом слишком много идиотов, чтобы это сработало.
     

  • 1.5, Аноним (-), 12:24, 30/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > На первом этапе предлагается изменить реализацию функций alert(), confirm() и prompt()

    При чем тут они? Сколько я не встречал "всплывашек" - они все были сделаны на динамических HTML-объектах (типа дивов).
    А штатные диалоги JS вообще очень трудно под что-то замаскировать.

     
  • 1.8, Аноним (-), 12:58, 30/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сто лет не прошло. Веб три-ноль близко...
     
     
  • 2.62, die_russofobs (?), 21:27, 01/04/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Как же - зато очередной backdoor закрыли!
    А то что тысячу оставили - так через тысяччу лет и их "найдут" и закроют, создав новые конечно. Может когда-нибудь, например когда JScript уже вымрет - и легализированный стандартом JScript - backdoor с сохранением в отдельном кэше браузера всех посещаемых/загружаемых в frame адресов, т.е.аналог скрытых Cookies.

    К слову, в Opera, уже лет 20 как все всплывашки блокировались, по кр.мере в той что <=12.xx.
    А, позжие их уродства браузера(на базе движка Chrome собственно...)
    - даже и не смотрел!

     

  • 1.9, piteri (ok), 13:00, 30/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >На первом этапе предлагается изменить реализацию функций alert(), confirm() и prompt(), сделав их немодальными

    И как их потом по назначению использовать?!

     
     
  • 2.12, Аноним (-), 13:30, 30/03/2017 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Никак.

    #if CHROME
    ...
    #elseif SAFARI
    ...
    #elseif MOZILA
    ...
    #elseif IE
    ...
    #elseif SPARTAN
    ...
    #else

    alert "смени браузер, мyдила!"

    #endif

     
  • 2.20, Аноним (-), 14:16, 30/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Любитель отладки alert()-ом в треде, все в Эйка!
     
  • 2.23, Lain_13 (ok), 16:05, 30/03/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Подозреваю, что они будут локально-модальными. Т.е. будут блокировать вкладку, но не блокировать её закрытие или переход на другие вкладки.
     
     
  • 3.37, НяшМяш (ok), 19:36, 30/03/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Давно пора. В хромой опере долго не мог отловить прикол, когда страница на клики не откликалась. Оказалось, в фоновой открытой вкладке появлялся алерт с запросом на отправку уведомлений, который блокировал все страницы.
     
  • 3.55, cmp (ok), 08:40, 31/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Эй, привет тебе из 2017, в фф так уже пару лет
     
     
  • 4.58, Lain_13 (ok), 16:56, 31/03/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Потому и подозреваю, что и в Хроме так будет.
     
  • 2.47, Sabakwaka (ok), 00:11, 31/03/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > И как их потом по назначению использовать?!

    Читай вывод в консол-монсол.

    alert() я использую, чтобы почитать переменные :)


     

  • 1.10, тоже Аноним (ok), 13:02, 30/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    То есть, набрасывая простенькую веб-морду, теперь нужно будет думать, как браузер отнесется к встроенным диалогам, и не сломает ли он своими капризами логику приложения? Молодца!
     
     
  • 2.11, Аноним (-), 13:13, 30/03/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А разве сейчас не надо думать?
     
     
  • 3.14, тоже Аноним (ok), 13:36, 30/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Если это чисто внутренняя и чисто техническая морда, не предназначенная для высовывания наружу, глупо тратить лишний день на псевдоинтерфейс.
     
  • 3.32, Аноним (-), 18:46, 30/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Пыхомакаки, сэр, такого не умеют.
     
     
  • 4.40, тоже Аноним (ok), 21:05, 30/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    А диванные эксперты в жизни не видели за веб-мордой ничего, кроме пыха.
     
     
  • 5.61, Аноним (-), 14:30, 01/04/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Интересно, почему у тебя такая обида? Ты пыхомакак?
     
  • 2.24, Lain_13 (ok), 16:07, 30/03/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А ты не показывай alert() сразу при открытии страницы, например. Кто вообще так делает?
     
     
  • 3.27, тоже Аноним (ok), 16:47, 30/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Не знаю. Я - не делаю.
     

  • 1.15, metakeks (?), 13:54, 30/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ой млё, как будто в баннерах до этого такой срани не было. Особенно на Flash...
     
     
  • 2.33, Аноним (-), 18:47, 30/03/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Особенно на Flash

    А что это?

     

  • 1.16, sorrymak (ok), 13:56, 30/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Хоть что-то годное.
     
  • 1.18, yan (??), 14:08, 30/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    И вроде что-то меняют, режут, а всё те же криво-таблицы-попапы-фреймы как были, так и остались, только теперь js/css/html5/etc. Странно.
     
     
  • 2.19, тоже Аноним (ok), 14:15, 30/03/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Что ж тут странного? Очевидно, что победить в этой борьбе такими методами невозможно.
     

  • 1.21, Аноним (-), 14:52, 30/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Всё, з.п. яваскриптоводов начнёт падать, т.к. такую востребованную назойливость залочат сейчас и заказы на услуги упадут:)
     
  • 1.22, Ilya Indigo (ok), 15:47, 30/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > 1-ый абзац.

    А браузеры тут причём?
    Меня, подозреваю и не только меня, раздражает что браузер потребляет ресурсы в несколько раз больше, чем мои игори, но что-то Google не спешит ограничивать сайты в ресурсах, а было бы куда полезней.

     
  • 1.25, annonim (?), 16:19, 30/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Firefox (SeaMonkey) + uBlock Origin + NoScript + Ghostery = резкое сокращение различного рода назойливостей.
     
     
  • 2.26, _KUL (ok), 16:22, 30/03/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    lynx?!
     
  • 2.34, edv (?), 18:49, 30/03/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ghostery? Блокируем spyware средствами другого spyware? Это как в новости - у вас обнаружен вирус, установите наш типа-антивирус.
     

  • 1.31, Аноним (-), 18:26, 30/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    когда тама wayland в chrome запилят?
     
  • 1.35, RobotsCantPoop (?), 19:04, 30/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Например, через рекламные сети или взлом сайтов продвигаются блоки, предлагающие обновить браузер чтобы продолжить просмотр страницы или установить поддельный антивирус под предлогом обнаружения в системе вируса, а также симулирующие возникновение системной ошибки и предлагающие позвонить по указанному номеру телефона.

    У них там вообще какой год-то?

     
  • 1.38, Аноним (-), 19:52, 30/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    как не почитаешь комменты - все сидят на свободных форках браузеров и плюются от проприетарного хрома. А сейчас овации в сторону улучшения со словами аля "наконец-то, дождался!". анон, ты уж определись, где ты
     
     
  • 2.39, Аноним (-), 20:07, 30/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Все новости об изменениях в хроме подразумевают хромиум же.
     

  • 1.41, Аноним (-), 21:23, 30/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это давно уже надо было сделать! Раздражают эти навязчивые баннеры! И главное закрыть их нельзя было! Может хоть сейчас разработчики сделают все необходимое, чтобы можно было их (баннеры) блокировать!

    P.S. А вобще в хромиум есть такая фича как "Inspect" (команда, которая выводит html-код баннера), которая позволяет удалять временно ненужный баннер. Но только временно; потом после перезагрузки браузера баннер снова появится. Чтобы временно удалить баннер командой "Inspect" щелкните по баннеру правой кнопкой, справа появится столбец с выделенным тегом баннера. Нажмите DELETE и тег вместе с баннером исчезнет со страницы.

     
     
  • 2.54, cmp (ok), 08:37, 31/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Раздражают критины, которые не знают, что в модальные диалоги нельзя вставить ничего кроме текста, который и так режется. Не знают, что ниодин вредонос не станет пользоваться этими диалогами, так как они заблокируют и его работу. А вот для диалогов, которые рисуются js есть ublock давным давно.
     

  • 1.42, Аноним (-), 22:01, 30/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Как же дико бесит когда серфишь по инетрнету без мышки, нажал ctrl+w закрыть вкладку и тут тебе, а вы точно хотите? А вы уверены? Как же так мы так старались, сделоли красивоё вам веб приложоние! Самое лучшее в мире, а вы уйти хотититя?
    И тебе приходиться сраную мышку в руку брать.
    Смерти таким разработчикам, в муках и страданиях.
     
     
  • 2.53, cmp (ok), 08:32, 31/03/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А до esc пальчики не дотягиваются?
     
  • 2.56, Аноним (-), 09:46, 31/03/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а ты поменьше по порносайтам лазь и все будет хорошо.
    разработчики не при чем, что заказали, то и сделали.
     

  • 1.43, Аноним (-), 22:04, 30/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    На порнухе бывает появляются грозные предупреждения, что мол вы смотрели порнуху и теперь должны занести штраф в ФСБ через шляндекс-мани. Ухахатайка! Причём чекает ай-пи. Я думал такое только с российских ай-пи такое бывает, ибо в накрытой паранджой стране живём, но как-то один раз словил подобное на англ. языке через импортный прокси.
     
  • 1.44, Аноним (-), 23:12, 30/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    В Firefox бороться с этим несколько проще.

    В about:config надо запретить сценариям javascript:

    перемещать или менять размер всплывающих окон
    dom.disable_window_move_resize;true

    перемещать окна над или под другие
    dom.disable_window_flip;true

    отключать или заменять контекстное меню
    dom.event.contextmenu.enabled;false

    Использовать Noscript.

    Если, например, не копируется текст - вид => стиль страницы => без стиля.

     
  • 1.48, Аноним (-), 00:47, 31/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот это полезно
     
  • 1.51, Аноним (-), 01:20, 31/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    не модальный alert ddos
     
  • 1.52, Аноним (-), 06:01, 31/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    да пусть они будут модальные, сделайте принудительно большой крестик для закрытия ЛЮБОГО всплывающего окна, который будет гарантированно закрывать его без выполнения какого-либо кода.
     
     
  • 2.63, Аноним (-), 19:19, 03/04/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Не получится так. Слишком много способов, которыми можно отрисовать диалог. И каждый нужно убирать по своему. Плюс верстка может поехать в некоторых случаях.

    Отключать возможности отрисовки некоторых элементов так же никто не станет: слишком много пуканов будет разбомблено

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру