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

Четверг, 21 декабря 2017 г.

Следите за нами в ВКонтакте, Facebook'e и Twitter'e

В опубликованном в ноябре выпуске 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.

Следите за нами в ВКонтакте, Facebook'e и Twitter'e


Просмотров: 1184
Рубрика: Hi-Tech


Архив новостей / Экспорт новостей

Ещё новости по теме:

RosInvest.Com не несет ответственности за опубликованные материалы и комментарии пользователей. Возрастной цензор 16+.

Ответственность за высказанные, размещённую информацию и оценки, в рамках проекта RosInvest.Com, лежит полностью на лицах опубликовавших эти материалы. Использование материалов, допускается со ссылкой на сайт RosInvest.Com.

Архивы новостей за: 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004, 2003