Подтвердить действие на странице как удалить в хроме

Обновлено: 15.06.2024

JavaScript был представлен в 1995 году, и в самой первой версии JavaScript были методы объекта окна с именами alert() , confirm() и prompt() .

Хотя они вписываются в JavaScript того времени, их синхронный API проблематичен для современных браузеров. Поскольку движку JavaScript необходимо сделать паузу, пока не будет получен ответ пользователя, диалоговые окна JavaScript являются модальными для приложения. А поскольку диалоговые окна модальны для приложения, они обычно (и, к сожалению) используются во вред нашим пользователям.

В связи с этим команда Chromium настоятельно рекомендует не использовать диалоговые окна JavaScript.

Альтернативы

Существует множество вариантов замены диалогового окна.

Есть несколько вариантов для alert()/confirm()/prompt() . Для уведомления пользователя о событиях (например, о сайтах-календарях) следует использовать Notifications API. Для получения пользовательского ввода следует использовать элемент HTML. Для проверки концепции XSS можно использовать console.log(document.origin) инструмента разработки.

Что касается onbeforeunload , следует отметить, что он уже ненадежен. Как отмечает Илья Григорик: «Вы не можете полагаться на события pagehide , beforeunload и unload для запуска на мобильных платформах». Если вам нужно сохранить состояние, используйте Page Visibility API.

Изменения

Возможность страницы указывать строку onbeforeunload была удалена в Chrome 51. (Она также была удалена Safari, начиная с Safari 9.1 и в Firefox 4.)

Диалоговые окна alert()/confirm()/prompt() теперь не являются модальными для приложения и закрываются при переключении с их вкладки. Это изменение коснулось всех каналов в начале мая 2017 г.

Диалоговые окна перед загрузкой требуют жеста пользователя на странице, чтобы разрешить их отображение, начиная с Chrome 60. (Это не меняет отправку события beforeunload.) Это выравнивает Chromium с Firefox, который внес это изменение в Firefox 44.< /p>

Отображение диалогового окна alert()/confirm()/prompt() в полноэкранном режиме приведет к потере полноэкранного режима, начиная с Chrome 61.

Диалоги

prompt() не активируют свою вкладку. Если prompt() вызывается из фоновой вкладки, вызов немедленно возвращается, и диалоговое окно не отображается. Это изменение коснулось всех каналов в начале мая 2017 г.

Диалоговые окна alert() не активируют свою вкладку. Если alert() вызывается из фоновой вкладки, вызов возвращается немедленно. Вкладка отмечена индикатором, и пользователь увидит диалоговое окно при переходе на вкладку. Это изменение поведения наблюдается, начиная с Chrome 64.

Диалоги подтверждения() не активируют вкладку. Если подтвердить() вызывается из фоновой вкладки, вызов немедленно возвращается, и диалоговое окно не отображается. Это изменение поведения наблюдается, начиная с Chrome 69.

Из-за этих изменений, если на вашем сайте используются диалоговые окна, настоятельно рекомендуется перейти к использованию ранее упомянутых альтернатив, чтобы это не повлияло на вас.

Если не указано иное, содержимое этой страницы предоставляется по лицензии Creative Commons Attribution 4.0, а образцы кода — по лицензии Apache 2.0. Подробнее см. в Правилах сайта Google Developers. Java является зарегистрированным товарным знаком Oracle и/или ее дочерних компаний.

Пол Кинлан

API геолокации позволяет узнать, с согласия пользователя, его местоположение. Вы можете использовать эту функцию для таких вещей, как направление пользователя к месту назначения и геотегирование пользовательского контента; например, отметить место, где была сделана фотография.

API геолокации также позволяет вам видеть, где находится пользователь, и следить за его перемещениями, всегда с согласия пользователя (и только пока страница открыта). Это создает множество интересных вариантов использования, таких как интеграция с серверными системами для подготовки заказа к сбору, если пользователь находится рядом.

При использовании API геолокации необходимо знать о многих вещах. В этом руководстве описаны распространенные варианты использования и решения.

  • Используйте геолокацию, когда это выгодно пользователю.
  • Запрашивать разрешение как четкий ответ на жест пользователя.
  • Используйте обнаружение функций, если браузер пользователя не поддерживает геолокацию.
  • Не просто научитесь реализовывать геолокацию; узнать, как лучше всего использовать геолокацию.
  • Проверьте геолокацию на своем сайте.
  • Найдите, где пользователь находится ближе всего к определенному физическому местоположению, чтобы адаптировать его взаимодействие с пользователем.
  • Подбирайте информацию (например, новости) к местоположению пользователя.
  • Показать положение пользователя на карте.
  • Отметьте данные, созданные в вашем приложении, с указанием местоположения пользователя (т. е. геотег изображения).

Недавние исследования пользователей показали, что пользователи с недоверием относятся к сайтам, которые просто предлагают пользователю сообщить свою позицию при загрузке страницы. Итак, каковы наилучшие методы?

  1. Обрабатывайте все ошибки из API геолокации, чтобы вы могли адаптировать свой сайт к этим условиям.
  2. Четко и ясно объясните, что вам нужно в этом месте.
  3. При необходимости используйте запасное решение.

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

Эти решения часто работают, просматривая IP-адрес пользователя и сопоставляя его с физическими адресами, зарегистрированными в базе данных RIPE. Эти местоположения часто не очень точны и обычно дают вам положение телекоммуникационного узла или вышки сотовой связи, ближайшей к пользователю. Во многих случаях они могут быть даже не такими точными, особенно если пользователь использует VPN или какой-либо другой прокси-сервис.

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

СЛЕДУЕТ: всегда запрашивать доступ к местоположению жестом пользователя. НЕЛЬЗЯ: спрашивайте об этом на главной странице, пока загружается сайт; это приводит к плохому взаимодействию с пользователем.

Вместо этого дайте пользователю четкий призыв к действию или указание на то, что для операции потребуется доступ к его местоположению. Затем пользователю будет проще связать запрос системы на доступ с только что инициированным действием.

В исследовании, проведенном командой Google Реклама, когда пользователя попросили забронировать номер в отеле в Бостоне для предстоящей конференции на сайте одного конкретного отеля, ему было предложено сообщить свое GPS-местоположение сразу же после нажатия на кнопку "Найти и забронировать". " призыв к действию на главной странице.

В некоторых случаях пользователи расстраивались, потому что не понимали, почему им показывают отели в Сан-Франциско, когда они хотят забронировать номер в Бостоне.

Лучше убедиться, что пользователи понимают, почему вы спрашиваете их о местоположении. Добавьте хорошо известное обозначение, одинаковое для всех устройств, например дальномер, или явный призыв к действию, например "Найти рядом со мной".

Используйте дальномер Конкретный призыв к действию, чтобы найти рядом со мной

У вас нет доступа ни к чему, что делают пользователи. Вы точно знаете, когда пользователи запрещают доступ к своему местоположению, но не знаете, когда они разрешают вам доступ; вы узнаете, что получили доступ, только когда появятся результаты.

Рекомендуется «подталкивать» пользователей к действию, если вам нужно, чтобы они завершили действие.

  1. Настройте таймер, который срабатывает через короткий промежуток времени; 5 секунд — хорошее значение.
  2. Если вы получили сообщение об ошибке, покажите сообщение пользователю.
  3. Если вы получили положительный ответ, отключите таймер и обработайте результаты.
  4. Если по истечении времени ожидания вы не получили положительного ответа, покажите пользователю уведомление.
  5. Если ответ приходит позже, а уведомление все еще присутствует, удалите его с экрана.

Большинство браузеров в настоящее время поддерживают Geolocation API, но рекомендуется всегда проверять наличие поддержки, прежде чем что-либо делать.

Вы можете легко проверить совместимость, проверив наличие объекта геолокации:

API геолокации предлагает простой однократный метод получения местоположения пользователя: getCurrentPosition() . Вызов этого метода асинхронно сообщает о текущем местоположении пользователя.

Если это первый раз, когда приложение в этом домене запрашивает разрешения, браузер обычно проверяет согласие пользователя. В зависимости от браузера также могут быть настройки, позволяющие всегда разрешать или запрещать поиск разрешений, и в этом случае процесс подтверждения игнорируется.

В зависимости от устройства определения местоположения, используемого вашим браузером, объект положения может фактически содержать намного больше, чем просто широту и долготу; например, он может включать высоту или направление. Вы не можете сказать, какую дополнительную информацию использует эта система определения местоположения, пока она не вернет данные.

API геолокации позволяет получить местоположение пользователя (с согласия пользователя) с помощью одного вызова getCurrentPosition() .

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

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

После того, как вам больше не нужно отслеживать положение пользователя, вызовите clearWatch, чтобы отключить системы геолокации.

К сожалению, не все поиски местоположения успешны. Возможно, не удалось определить местонахождение GPS или пользователь внезапно отключил поиск местоположения. В случае ошибки вызывается второй необязательный аргумент для getCurrentPosition(), чтобы вы могли уведомить пользователя внутри обратного вызова:

Во многих случаях вам не нужна самая актуальная информация о местоположении пользователя; вам просто нужна приблизительная оценка.

Используйте необязательное свойство maxAge, чтобы указать браузеру использовать недавно полученные результаты геолокации. Это не только ускоряет возврат данных, если пользователь запрашивал данные ранее, но также не позволяет браузеру запускать свои аппаратные интерфейсы геолокации, такие как триангуляция Wi-Fi или GPS.

Если вы не установите время ожидания, ваш запрос текущей позиции может никогда не вернуться.

Если вы хотите найти ближайший к пользователю магазин, вряд ли вам потребуется точность в 1 метр. API предназначен для предоставления приблизительного местоположения, которое возвращается как можно быстрее.

Если вам нужен высокий уровень точности, можно переопределить настройку по умолчанию с помощью параметра enableHighAccuracy. Используйте это с осторожностью: это медленнее разрешается и потребляет больше энергии.

Ящик датчика в DevTools.

  • Проверьте, как ваше приложение работает в разных географических точках.
  • Убедитесь, что ваше приложение корректно деградирует, когда геолокация недоступна.

Вы можете сделать и то, и другое в Chrome DevTools.

Откройте меню ящика консоли и выберите параметр «Датчики», чтобы отобразить ящик датчиков.

Здесь вы можете переопределить местоположение на предустановленный крупный город, ввести собственное местоположение или отключить геолокацию, установив для переопределения значение «Местоположение недоступно».

Если не указано иное, содержимое этой страницы предоставляется по лицензии Creative Commons Attribution 4.0, а образцы кода — по лицензии Apache 2.0. Подробнее см. в Правилах сайта для разработчиков Google.

Избавьтесь от уведомлений о файлах cookie, заблокируйте рекламу и отключите автоматическое воспроизведение видео

Основное изображение для советов по приложению Chrome с логотипом Chrome на красном фоне

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

Как заблокировать уведомления веб-сайтов в Chrome

Уведомления в режиме реального времени на рабочем столе или в браузере о входящих сообщениях электронной почты или сообщениях Slack имеют смысл. Новые статьи на веб-сайте, о котором вы впервые услышали, потому что он появился в результатах поиска? Это имеет меньше смысла. Это не мешает веб-сайтам запрашивать разрешение на отправку push-уведомлений на рабочий стол или в браузер.

Если вы устали видеть эти всплывающие окна и вынуждены отклонять запросы, вы можете изменить настройки Chrome, чтобы либо заблокировать все запросы push-уведомлений, либо заблокировать их на определенных сайтах.

Нажмите значок "Еще" (три вертикальные точки в правом верхнем углу браузера).

Выберите Настройки.

Прокрутите вниз до раздела Конфиденциальность и безопасность и нажмите Настройки сайта.

Выберите Уведомления.

Переключите переключатель Сайты могут запрашивать отправку уведомлений в выключенное положение.

Затем, если вы хотите разрешить уведомления с определенных сайтов или приложений, прокрутите страницу вниз и добавьте URL-адрес сайта, с которого вы хотите получать уведомления, в раздел Разрешить. р>

Если вы уже получаете нежелательные уведомления с определенных сайтов, нажмите значок "Еще" (три вертикальные точки) рядом с сайтом-нарушителем и выберите "Удалить", чтобы прекратить получать уведомления.

Как заблокировать уведомления о файлах cookie в Chrome

В верхних и нижних колонтитулах веб-сайта

Только с кнопкой подтверждения

С кнопками "принять" и "отклонить"

Только со значком закрытия

Они избавились от уведомлений о файлах cookie на всех 10 сайтах.

И если вы обнаружите уведомление о файлах cookie, которое проходит мимо блокировщика, вы можете сообщить об этом, нажав Сообщить о предупреждении о файлах cookie в меню параметров расширения.

Важно! Хотя уведомления о файлах cookie могут раздражать и отвлекать, они содержат важную информацию, которая поможет вам понять, а в некоторых случаях и отказаться от получения сведений о том, как посещаемые вами веб-сайты собирают и используют ваши личные данные. По этой причине мы рекомендуем вам серьезно подумать о последствиях блокировки уведомлений о файлах cookie перед установкой этого расширения. H/T комментатору Мартину Хоппенбрауэру за указание на возможные последствия блокировки уведомлений о файлах cookie.

Как заблокировать автоматическое воспроизведение видео в Chrome

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

Автоматически воспроизводимые видео, особенно те, которые воспроизводят аудио и видео, – это современный эквивалент веб-сайтов с фоновой музыкой: ненужный, неожиданный и, как правило, неприятный. И они замедляют скорость загрузки вашей страницы.

Чтобы полностью отключить автоматическое воспроизведение видео, вы можете использовать бесплатное расширение AutoplayStopper для Chrome.

Я протестировал AutoplayStopper на 10 сайтах с автоматическим воспроизведением видео, включая CNN, ESPN и YouTube, и он предотвратил воспроизведение аудио и видео на всех сайтах.

И если по какой-то причине вы хотите разрешить автовоспроизведение видео на определенном сайте, вы можете быстро одобрить сайты, открыв меню параметров расширения на омнибаре и выбрав Разрешить автовоспроизведение для [сайта].

Удалите все лишнее с любого сайта одним щелчком мыши

Слишком много веб-сайтов представляют собой беспорядок: статья, которую вы хотите прочитать, скрыта под слоями рекламы, маркетинговых всплывающих окон и чего-то похуже. Сколько раз нужно нажимать «Закрыть»?

Вместо того, чтобы щелкать и ждать, попробуйте использовать Mercury Reader. Это бесплатное расширение показывает вам статью, которую вы хотите прочитать, и ничего больше — просто щелкните значок или используйте сочетание клавиш (Cmd + Esc для пользователей Mac, Alt + \ для пользователей Windows).

Это значительно упрощает чтение и может даже использоваться для отправки статей на Kindle. Попробуйте.

Как заблокировать рекламу в Chrome

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

Если реклама постоянно замедляет работу в Интернете, вы можете полностью избавиться от нее с помощью блокировщика рекламы. Я использую бесплатный AdBlocker Ultimate и полностью им доволен. Он блокирует медийную рекламу, рекламу перед роликом YouTube и даже рекламу AdWords (текстовые объявления, которые появляются в результатах поиска Google).

К другим популярным бесплатным блокировщикам рекламы для Chrome относятся uBlock Origin (известный своей настраиваемостью) и Ghostery (блокирует рекламу и трекеры).

Необходимо помнить: реклама может быть неприятной, но если есть веб-сайт, который постоянно создает контент, который вам нравится, подумайте о том, чтобы добавить этот сайт в список разрешенных в вашем блокировщике рекламы. Многие сайты могут продолжать создавать контент только потому, что они получают доход от рекламы. Если вы действительно не хотите видеть рекламу, вы также можете заплатить за подписку на сайте, сделать пожертвование на Patreon автора или предложить какой-либо другой альтернативный метод денежной поддержки.

Реклама, оверлеи, запросы уведомлений и автоматически воспроизводимые видео — это далеко не все, с чем вы можете столкнуться в Интернете. Есть и другие вещи, которые вы, вероятно, хотели бы отключить (привет, чат-боты), для которых в настоящее время нет решений. Однако эти изменения настроек и расширения являются хорошей отправной точкой для получения более приятного и менее отвлекающего опыта работы в Интернете.

Похожее чтение:

Эта статья была первоначально опубликована в январе 2019 года и с тех пор обновлялась с учетом материалов Джастина Пота.

Получайте советы по продуктивности прямо на почту

Мы будем отправлять вам электронные письма 1–3 раза в неделю и никогда не разглашаем вашу информацию.

Джессика Грин — независимый писатель, занимающийся вопросами маркетинга и бизнеса. Бывший инструктор по письму и корпоративный маркетолог, она использует свой предметный опыт и страсть к обучению других, чтобы создавать действенный, подробный и ориентированный на пользователя контент.

Читайте также: