Firefox 32
- Опубликовано:
Новый выпуск продвинутого веб-браузера Firefox с истинно компьютерным номером 32 (25) приготовил немало интересного.
CSS, HTML
- Поддержка sticky-позицинирования средствами CSS, экспериментально реализованная в Firefox 26, включена по умолчанию. Ранее эта функциональность реализовывалась путём динамического переключения позиционирования на фиксированное (
fixed
) и обратно с помощью JavaScript. - Поддержка свойства
mix-blend-mode
, экспериментально реализованная в Firefox 27, включена по умолчанию. - Поддержка свойства
box-decoration-break
, позволяющего управлять тем, как следует применять к элементу свойстваbackground
,padding
,border
,border-image
,box-shadow
,margin
иclip
, если элемент представлен на странице несколькими фрагментами (например, строчный элемент, занимающий несколько строк). Ранее аналогичная функциональность в Firefox реализовывалась с помощью нестандартного свойства-moz-background-inline-policy
. - Экспериментальная поддержка атрибута
srcset
HTML-элементаIMG
, позволяющего указать пути к нескольким изображениям для отображения на мониторах с разной плотностью точек, открывая новые возможности для отзывчивой/адаптивной вёрстки. Пока поддержка по умолчанию отключена и может быть включена с помощью настройкиdom.image.srcset.enable
на странице скрытых настроек Firefox, доступной по псевдо-URL-адресуabout:config
.
JavaScript, DOM
- Новый метод
Array.from()
, предусмотренный в ECMAScript 6, позволяет легко и интуитивно преобразовывать в стандартный массив любой массивоподобный объект (например, список DOM-узлов) с целью дальнейшего удобного манипулирования им с помощью стандартных методов объектаArray
, недоступных для объектов других типов. Ранее для такого преобразования требовалось применять громоздкий и не слишком наглядный вызов видаArray.prototype.slice.call(arrayLike, 0)
. - Экспериментальное свойство
navigator.languages
содержит список (объектArray
) предпочитаемых пользователем языков, представленных строками в формате, соответствующем стандарту BCP 47. Ранее доступное свойствоnavigator.language
(безs
в конце названия) содержит первый из языков, содержащихся в новом свойствеnavigator.languages
. Параллельно реализована поддержка событияlanguagechange
, возникающего при смене предпочитаемого пользователем языка. - Методы
KeyboardEvent.getModifierState()
иMouseEvent.getModifierState()
теперь поддерживают виртуальный модификаторAccel
. - Экспериментальная поддержка свойства KeyboardEvent.code, содержащего код физической клавиши, не зависящий от текущей раскладки или состояния клавиши-модификатора. По умолчанию поддержка пока (ориентировочно до выхода следующей версии Firefox) отключена и может быть включена с помощью настройки
dom.keyboardevent.code.enabled
на страницеabout:config
. -
Долгожданная поддержка псевдокласса
:scope
в DOM-методахquerySelector()
иquerySelectorAll()
. Полезно (в том числе с точки зрения быстродействия), например, для получения списка элементов, имеющих заданный тип и являющихся непосредственными дочерними элементами элемента, ссылка на который уже получена ранее и хранится в переменной:var parent = someWayToGetTheElement();
var elems = parent.querySelectorAll(':scope > SPAN');
// `elems` содержит элементы `SPAN`, дочерние по отношению
// к элементу, ссылка на который хранится в `parent`. - Поддержка свойства
responseURL
объектаXMLHttpRequest
. - Поддержка программного интерфейса (API) Encrypted Media Extensions в рамках реализации стандартизованного W3C механизма отображения защищённого медиаконтента (DRM). См. также официальное разъяснение позиции Mozilla по этому вопросу.
Быстродействие
- Новый механизм кэширования, находившийся в разработке более года и отличающийся повышенным быстродействием, сниженным потреблением памяти и большей устойчивостью к аварийному завершению работы браузера.
- Новый механизм «сбора мусора» — Generational garbage collection — предполагает использование разных подходов к работе с объектами в зависимости от продолжительности их существования для повышения быстродействия JavaScript-сценариев.
Инструменты веб-разработки
- В пользовательский интерфейс инструментов веб-разработки добавлены пиктограммы высокого разрешения в рамках поддержки мониторов высокого разрешения (HiDPI).
- Новый инструмент веб-разработки Web Audio Editor предоставляет возможность отладки веб-приложений, использующих Web Audio API. Чтобы инструмент стал доступен, следует активировать настройку «Веб-аудио» в секции «Инструменты разработчика Firefox по умолчанию» на странице настроек инструментов веб-разработки.
- В инструменты веб-разработки добавлено встроенное средство снятия скриншотов страниц, реализуемое кнопкой с изображением фотоаппарата в ряду кнопок справа от ярлыков вкладок инструментов веб-разработки. Чтобы оно стало доступно, следует активировать настройку «Сделать скриншот всей страницы» в секции «Доступные кнопки инструментов» на странице настроек инструментов веб-разработки. Файл скриншота в формате PNG сохраняется в папку для загрузок браузера.
- Поддержка отображения стилей браузера по умолчанию в инструментах веб-разработки. Для включения этой возможности следует активировать настройку «Отображать стили браузера» в секции «Инспектор» страницы настроек инструментов веб-разработки.
- Поддержка автодополнения в редакторе кода Scratchpad.
Прочее
- Механизм Public Key Pinning призван защитить от так называемых атак посредника (Man in the middle) путём ограничения перечня разрешённых центров сертификации для защищённых соединений с доменами популярных сайтов типа Twitter.
- В панели поиска по странице теперь отображается количество найденных совпадений и порядковый номер текущего подсвеченного совпадения.
О других новшествах Firefox 32 читайте в официальных примечаниях к выпуску и информации для разработчиков.