Перейти к содержанию

В Firefox реализовано отложенное выполнение стороннего кода отслеживания перемещений

Материал из Викиновостей, свободного источника новостей

21 декабря 2017 года

В опубликованном в ноябре выпуске Firefox 57, помимо появления опции для блокирования внешних блоков, занесённых в чёрный список disconnect.me, без упоминания в списке изменений была добавлена ещё одна полезная функция для снижения негативного влияния внешнего кода. В браузере была переработана логика построения очерёдности загрузки контента, в результате чего сторонний JavaScript-код и изображения, связанные с отслеживанием поведения пользователя и перемещений между сайтами, стали загружаться в самую последнюю очередь и только после того как загрузится остальное содержимое. Также были добавлены настройки, позволяющие загружать подобный код не сразу, а после определённой задержки (network.http.tailing.delay-quantum-after-domcontentloaded и network.http.tailing.delay-quantum в about:config).

Метод отложенной загрузки применяется для счётчиков, web-систем аналитики, iframe-блоков, виджетов социальных сетей, рекламных блоков и изображений, уличённых в отслеживании пользователей вопреки установке заголовка Do Not Track и занесённых в чёрный список disconnect.me, который также применяется в системе блокирования отслеживания перемещений. Загрузка подобных компонентов откладывается до завершения загрузки всех остальных ресурсов страницы, если не истёк таймаут, установленный по умолчанию в 6 секунд (network.http.tailing.delay-max в about:config). Отложенная загрузка применяется только для скриптов, добавляемых динамически или определённых с флагом async, а также для всех счётиков-изображений. Для отключения отложенной загрузки, которая включена по умолчанию, в about:config предусмотрен параметр network.http.tailing.enabled.

В большинстве случаев предложенный метод позволяет визуально ускорить появление страницы, так как счётчики и код для отслеживания не мешает загрузке основных частей, но также наблюдаются и аномалии. Например, страницы, использующие Page-Hiding Snippet от Google, стали показываться с задержкой, оставаясь пустыми в течение нескольких секунд, так как в них применяется скрытие ("opacity: 0") контента до окончания загрузки всех элементов страницы. Если на подобных страницах имеются компоненты, загружаемые с сервера Google Analytics или виджеты социальных сетей, то они отображаются после существенной задержки. Другим примером являются страницы, на которых используется обращение к API виджетов (например, Twitter API), полагаясь на то, что код виджета успеет загрузиться раньше, чем будет выполнен вызов API.

Источники

[править]


Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «В Firefox реализовано отложенное выполнение стороннего кода отслеживания перемещений», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.