В 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.
Источники
[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.