Firefox 85
- Опубликовано:
Встречаем юбилейный Firefox 85 — первый выпуск свободного альтернативного веб-браузера в новом десятилетии.
HTML
-
Включена по умолчанию поддержка элемента
<link rel="preload">
. Элемент предписывает браузеру заранее загрузить указанный ресурс, который с большой вероятностью потребуется пользователю.Дополнительно можно указать тип ресурса с помощью атрибута
as
, что позволяет браузеру:- оптимизировать приоритетность загрузки;
- кэшировать ресурс для быстрого повторного его использования при будущих запросах;
- применять к ресурсу соответствующую политику безопасности (content security policy);
- устанавливать подходящее значение для заголовка запроса
Accept
при запросе этого ресурса.
Допустимые типы ресурсов:
audio
,document
,embed
,fetch
,font
,image
,object
,script
,style
,track
,worker
,video
.Предзагрузка видеороликов (
as="video"
) предусмотрена в спецификации, но пока не реализована в браузерах — вероятно, из опасения злоупотреблений или бездумного использования, что в сочетании с большим объёмов видеофайлов крайне отрицательно сказалось бы на скорости загрузки страниц и привело бы к пустому расходу большого количества трафика.Дополнительно можно указать MIME-тип ресурса с помощью атрибута
type
, например:type="video/mp4"
, что позволяет браузеру, например, даже не пытаться загрузить ресурс, если браузер его не поддерживает.Для предзагрузки шрифтов и ресурсов, которые предполагается затем загрузить без перезагрузки страницы (
fetch()
,XMLHttpRequest
), с активной функцией CORS, требуется также указать атрибутcrossorigin
, даже если ресурс расположен на том же домене. -
Отключена поддержка элемента
MENUITEM
. В частности теперь не имеют специального функционального назначения и не связаны друг с другом HTML-атрибутdisabled
и одноимённое DOM-свойство, что нарушило работу интерфейса расширения Greasemonkey, использующего этот элемент.Полностью поддержка
MENUITEM
из Firefox пока не удалена, на странице скрытых настроекabout:config
предусмотрен временный булев параметрdom.
.menuitem. enabled Элемент был предназначен для семантического представления элемента всплывающего меню. Элемент удалили из спецификации HTML в 2017-м году из-за отсутствия интереса со стороны разработчиков браузеров. При этом в движок WebKit, лежащий в основе браузера Apple Safari, поддержку в том же году, наоборот, добавили в рамках реализации Touch Bar Web API.
CSS
-
Поддержка псевдокласса
:focus-visible
. Назначение аналогично псевдоклассу:focus
, но выборка ограничивается элементами, для которых предполагается явное отображение факта наличия фокуса. Ранее был доступен нестандартный псевдокласс:-moz-focusring
для той же цели.В визуальных браузерах такие элементы обычно по умолчанию выделяются точечно-пунктирной рамкой, появляющейся после первого использования клавиши табуляции для навигации по элементам, способным принимать фокус, в том числе ссылкам и элементам форм.
Параллельно на вкладку «Инспектор» инструментов разработчика добавлена возможность временно применить стили
:focus-visible
к выделенному элементу в дополнение к ранее поддерживавшимся:hover
,:active
,:focus
,:focus-within
и:visited
. - Поддержка значения
pinch-zoom
свойстваtouch-action
. Свойство указывает, каким образом занятой элементом областью страницы может манипулировать пользователь. Значениеpinch-zoom
соответствует изменению масштаба пальцами. В сочетании с ним можно использовать любое из значенийpan-*
, управляющих разрешёнными направлениями жестов:pan-left
,pan-right
,pan-up
,pan-down
.
JavaScript
-
Поддержка свойства
collation
ассоциативного массива-объекта, передаваемого конструкторуIntl.Collator()
. Конструктор предназначен для создания объектовIntl.Collator
, позволяющих сравнивать строки с учётом особенностей указанного языка, например, чтобы переупорядочить элементы массива с помощью методаsort()
. Свойствоcollation
помогает сделать код более понятным:new Intl.Collator(["zh-u-co-pinyin"]); // Ранее.
new Intl.Collator("zh", {collation: "pinyin"}); // Теперь.
Блокировка SuperCookies
В Firefox 85 внедрена защита от так называемых SuperCookies — способов междоменного отслеживания (cross-site tracking) пользователей с помощью кэшируемых браузерами сущностей, изначально не предназначавшихся для отслеживания, в том числе HTTP-заголовков ETag и HSTS-флагов.
Для защиты от таких SuperCookies соответствующие сущности, относящиеся к внедрённым на страницу ресурсам со сторонних доменов, теперь кэшируются независимо для каждого сайта. К таким сущностям относятся HTTP-запросы, изображения, таблицы стилей, шрифты, DNS-запросы, TLS-сертификаты и проч.
Защита работает в отношении всех сторонних доменов вне зависимости от того, входят ли эти домены в перечень заранее известных сайтов-трекеров, на использовании которого основана внедрённая ранее «обычная» защита от отслеживания.
Удалена поддержка Flash
Удалена поддержка плагина Flash Player, и изменить это невозможно даже с помощью скрытых настроек.
Элементы OBJECT
и EMBED
, использовавшиеся для вставки Flash-роликов на веб-страницы, теперь обрабатываются следующим образом.
- Для ресурсов, имеющих MIME-тип
x-shockwave-flash
илиx-test
, элемент отображается как прозрачная область, имеющая размеры, указанные в атрибутахwidth
иheight
. -
Для ресурсов, имеющих MIME-тип, отличный от
x-shockwave-flash
иx-test
, поведение прежнее:- ресурсы, не требующие плагинов для своего отображения, обрабатываются обычным образом;
- элементы, которым соответствуют ресурсы неизвестных типов, имеют на странице нулевой размер (0×0).
- Если для элемента
OBJECT
предусмотрен альтернативный (fallback-) HTML-контент, отображается этот контент.