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

Комментарии

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