Firefox 50
- Опубликовано:
Поздравим передовой веб-браузер Firefox с большим юбилеем и посмотрим, что интересного он нам приготовил.
CSS, HTML
- Удалена поддержка значения
padding-box
CSS-свойстваbox-sizing
, которая из популярных браузеров была реализована только в Firefox и потому была удалена из спецификации. - Исправлена давняя ошибка, из-за которой скруглённые углы пунктирных (
dotted
,dashed
) рамок ошибочно отрисовывались как сплошные (solid
). - Размер маркера в
UL
-списках в Quirks-режиме (на HTML-страницах без правильного DOCTYPE) теперь наследуется, как в режиме соответствия стандартам. - Включён по умолчанию беспрефиксный вариант псевдокласса
:any-link
, являющегося кратким эквивалентом сложного селектора:link, :visited
. - Поддержка ключевого слова
space
в значении CSS-свойстваborder-image-repeat
. При использовании значенияspace
изображение размножается целое количество раз с равномерным заполнением промежуточного пространства пустотой. - Поддержка атрибута
referrerpolicy
HTML-элементовA
,AREA
,IMG
,IFRAME
иLINK
включена по умолчанию. Атрибутreferrerpolicy
позволяет управлять отправкой заголовка запросаReferer
.
JavaScript
- Поддержка добавления одноразовых обработчиков событий с помощью
addEventListener()
с параметромonce
. Такой обработчик автоматически удаляется после первого вызова, что полезно, например, для событияDOMContentLoaded
, по своей природе наступающего не более одного раза для каждой страницы. - Интерфейсы
NodeList
иDOMTokenList
теперь являются итерируемыми и поддерживают методыforEach()
(появляется возможность перебирать элементы без необходимости предварительного преобразования DOM-списка в массив, например, с помощьюArray.from()
),values()
,entries()
иkeys()
. ИнтерфейсNodeList
соответствует спискам DOM-узлов, возвращаемых такими DOM-методами, какquerySelectorAll()
, а интерфейсDOMTokenList
— спискам текстовых значений, заданных в значении атрибута с пробелом в качестве разделителя — например, списку классов в атрибутеclass
, доступному с помощью DOM-свойстваclassList
элемента. - Удалена поддержка нестандартных событий
dragdrop
иdraggesture
. Теперь для реализации функциональности перетаскивания рекомендуется использовать стандартный HTML Drag and Drop API. - Pointer Lock API теперь доступен без префикса. Данный программный интерфейс позволяет отслеживать движение указателя мыши в пределах заданного элемента или без ограничения размеров отслеживаемой области окном браузера или экраном, скрывать указатель мыши и проч.
- Частичная поддержка нестандартного программного интерфейса (API) File and Directory Entries, благодаря чему улучшена совместимость Firefox с веб-приложениями, написанными в расчёте на браузер Chrome.
- Ограничение частоты (throttling, clamping) срабатывания функций, вызываемых с помощью
window.setInterval()
иwindow.setTimeout()
в фоновых вкладках, теперь не применяется к вкладкам, в которых происходит воспроизведение звука средствами Web Audio API. Это полезно, в частности, для аудиоплееров, реализующих воспроизведение форматов (например, трекерных форматов типа MOD или форматов без потерь качества типа FLAC и ALAC), встроенная поддержка которых в браузере отсутствует. Ранее при настройках по умолчанию звук в таких фоновых вкладках воспроизводился прерывисто, и для обхода этой проблемы приходилось отключать ограничение полностью с помощьюabout:config
-параметраdom.min_background_timeout_value
, содержащего минимальный период вызова функций в миллисекундах (по умолчанию —1000
, т. е. 1 секунда). - WebGL теперь доступен более чем для 98% пользователей Windows 7 и выше.
Прочее
- Экспериментальная поддержка протокола SPDY 3.1 отключена (за это отвечает
about:config
-параметрnetwork.http.spdy.enabled.v3-1
) в пользу HTTP/2 и будет окончательно удалена в следующей версии Firefox. - Поддержка HTTP-заголовка ответа сервера
X-Content-Type-Options: nosniff
, позволяющего явным образом запретить браузеру определять MIME-тип ресурса на основании косвенных признаков в случаях, когда заголовок ответаContent-Type
отсутствует или содержит некорректное значение. - Поддержка HTTP-заголовка ответа сервера
Referrer-Policy
, функционально аналогичного мета-элементуreferrer
. - При текстовом поиске по странице искомый текст теперь при необходимости можно трактовать как слово (или последовательность слов, разделённых пробелом или знаком препинания) нажатием булевой кнопки «Только слова целиком» на панели поиска.
- Появилась возможность включить альтернативный порядок переключения вкладок сочетанием клавиш Ctrl+Tab (меню «Инструменты» → «Настройки» → «Основные» → «Вкладки» → «Ctrl+Tab переключает между вкладками в порядке недавнего использования»). К счастью, у пользователя есть выбор, использовать ли этот режим (например, для автора этих строк он абсолютно неудобен). По умолчанию порядок переключения вкладок остался прежним.
- Переключение в режим чтения теперь возможно с помощью сочетания клавиш Ctrl+Alt+R.
См. также официальные примечания к выпуску и информацию для разработчиков.