Firefox 49
- Опубликовано:
Первый осенний выпуск Firefox готов порадовать внушительным списком новшеств.
HTML
- Поддержка HTML5-элементов
DETAILS
иSUMMARY
, позволяющих создавать разворачиваемые блоки без использования JavaScript. -
Поддержка значений
allow-popups-to-escape-sandbox
иallow-modals
атрибутаsandbox
элементаIFRAME
.- Значение
allow-popups-to-escape-sandbox
разрешает открытие новых окон без применения к ним тех же ограничений, которые имеют место для содержимого фрейма. - Значение
allow-modals
разрешает вставленному во фрейм документу открывать модальные окна.
- Значение
-
Поддержка значений
no-referrer-when-downgrade
иorigin-when-cross-origin
атрибутаreferrerpolicy
элементовA
(ссылок).- Значение
no-referrer-when-downgrade
означает, что заголовок запросаReferer
не будет отправляться при переходе на страницу, открываемую по протоколу, отличному от HTTPS, что соответствует поведению браузеров по умолчанию. - Значение
origin-when-cross-origin
означает, что при переходе на другие сайты заголовокReferer
будет содержать только адрес корня домена (протокол, домен и порт), а при переходах между страницами текущего доменаReferer
будет включать полный адрес страницы.
- Значение
- Удалена поддержка атрибута
form
элементаLABEL
в соответствии с изменениями в спецификации HTML. DOM-свойствоform
по-прежнему поддерживается, но теперь является псевдонимом свойстваcontrol.form
и возвращает форму, к которой относится поле формы, на которое указываетLABEL
.
CSS
- Долгожданная поддержка свойств
background-position-x
иbackground-position-y
, позволяющих задавать сдвиг фонового изображения раздельно по горизонтальной и вертикальной осям соответственно. Эти свойства долгое время были нестандартным расширением стандарта, доступным в IE и браузерах на основе движков WebKit и Blink, пока в апреле 2014 года рабочей группой CSS наконец не было принято решение об их стандартизации. -
Поддержка значений
space
иround
свойстваbackground-repeat
.- Значение
space
позволяет отобразить максимально возможное количество копий изображения без их усечения, при этом крайние копии вплотную прилегают к краям элемента, а свободное пространство равномерно распределяется по промежуткам между копиями изображения. - Значение
round
позволяет замостить элемент отмасштабированными в некоторых пределах копиями изображения без зазоров между ними.
- Значение
- Включена по умолчанию поддержка значения
text
свойстваbackground-clip
, превращающего текст в маску для фона элемента, ранее экспериментально реализованная в Firefox 48. - Поддержка указания цветовых значений с прозрачностью с помощью шестнадцатеричной нотации вида
#RRGGBBAA
,#RGBA
. - Функциональный псевдокласс
:dir()
теперь доступен без префикса. В отличие от селектора по атрибуту[dir=…]
, псевдокласс учитывает направление текста, унаследованное от одного из элементов-предков, в то время как непосредственно адресуемый элемент может этого атрибута не иметь. - Поддержка единицы
q
, эквивалентной четверти миллиметра (mm
). - Свойство
text-align-last
, позволяющее управлять выравниванием последней строки текста, теперь доступно без префикса. - Поддержка свойства
overflow-wrap
как стандартного эквивалента нестандартного, но широко поддерживаемого свойстваword-wrap
, изначально реализованного в браузере Internet Exporer. Последний теперь позиционируется как псевдоним первого. - Упразднена
about:config
-настройкаlayout.css.text-emphasis.enabled
, отвечавшая за доступность свойств семействаtext-emphasis
, включённых по умолчанию начиная с Firefox 46. Таким образом, поддержку этих свойств в Firefox теперь невозможно отключить. - С целью улучшения совместимости Firefox с сайтами, созданными в расчёте на браузеры на основе WebKit (Safari), добавлена поддержка множества свойств с префиксом
-webkit-
в качестве псевдонимов соответствующих стандартных свойств. Затронутые свойства в том числе касаются Flexbox, Transitions, трансформаций и градиентов. Кроме того, реализованы некоторые нестандартные возможности, в частности:-webkit-text-stroke
(обводка для текста) и-webkit-text-fill-color
(аналог свойстваcolor
, имеющий более высокий приоритет и изначально предназначенный для использования совместно с-webkit-background-clip
с целью обеспечения читабельности текста в браузерах с поддержкой и без поддержки-webkit-background-clip
).
JavaScript, DOM
- Удалена поддержка программного интерфейса (API) для доступа к Microdata-данным средствами JavaScript. Из браузерных движков Blink и WebKit такая поддержка была удалена ранее, в Safari данная возможность никогда не была включена по умолчанию, а в IE поддержки не было вовсе. Следует отметить, что использование Microdata-разметки, предназначенной для поисковиков, смысла при этом не теряет.
- Удалена поддержка нестандартного и нерекомендуемого параметра
flags
методовmatch()
,search()
иreplace
объектаString
. - Поведение метода
Date.parse()
при разборе двузначных лет в датах форматаmm/dd/yy
было изменено для единообразия с браузерами Chrome (Blink) и Safari (WebKit) несмотря на то, что в IE и Edge разбор работает аналогично прежнему алгоритму Firefox. - Поддержка метода
DOMTokenList.supports()
, призванного дать возможность определения легитимности заданной подстроки как одного из значений в рамках заданного атрибута. - Поддержка метода
DOMTokenList.replace()
, предназначенного для замены одного значения спискаDOMTokenList
на другое. - Ведущий вопросительный знак в значении параметра конструктора
URLSearchParams()
теперь игнорируется в соответствии с изменением в спецификации URL. - Свойство
Document.visibilityState
теперь возвращает значениеprerender
, если страница находится в состоянии предварительной отрисовки и ещё не видна пользователю. - Реализованы DOM4-методы
before()
,after()
иreplaceWith()
дочернего узла иappend()
иprepend()
родительского узла, призванные упростить на уровне синтаксиса вставку узлов до или после заданного узла, замену заданного узла, вставку узлов перед существующими дочерними узлами заданного элемента или после них соответственно. - В окнах, открываемых с помощью метода
window.open()
, теперь по умолчанию доступны полосы прокрутки. - Экспериментальная поддержка нестандартного метода
HTMLMediaElement.seekToNextFrame()
для сдвига текущей позиции воспроизведения медиафайла на один кадр вперёд. Для аудиофайлов в качестве кадра, вероятно, выступает отдельный отсчёт (sample) дискретизации. По умолчанию возможность отключена, включаетсяabout:config
-параметромmedia.seekToNextFrame.enabled
. -
Поддержка передачи сразу нескольких параметров как объекта в качестве третьего аргумента метода
addEventListener()
, а именно:- параметр с ключом
capture
соответствует прежнему назначению (useCapture
) третьего параметра метода; - параметр
once
позволяет автоматически удалить обработчик после его первого вызова; passive
сообщает браузеру, что в функции обратного вызова не будет вызова методаpreventDefault()
(если такой вызов всё-таки будет, он будет проигнорирован), что может положительно сказаться на быстродействии, в частности, в обработчиках события прокрутки.
Следует учитывать, что браузеры без поддержки такой возможности будут трактовать такой объект как аргумент
useCapture
со значениемtrue
. - параметр с ключом
- Включена по умолчанию поддержка свойства
CanvasRenderingContext2D.filter
, позволяющего задать ряд фильтров, которыми следует обрабатывать изображение, генерируемое в рамках соответствующего элементаCANVAS
— например,blur()
(размытие),brightness()
иcontrast()
(изменение яркости и контрастности),grayscale()
(управление насыщенностью цветов — от цветного до чёрно-белого). - Для объекта
Response
, определённого в Fetch API, теперь доступно свойствоredirected
, по которому можно определить, было ли осуществлено перенаправление (редирект) соответствующего запроса. - Исправлена ошибка, из-за которой вызов
MediaDevices.getUserMedia()
, запрашивающий доступ одновременно к микрофону и видеокамере, когда на самом деле у пользователя было лишь одно из этих устройств, либо когда доступ к одному из этих устройств был явным образом запрещён пользователем. - При использовании методов
DataTransfer.setData()
иDataTransfer.getData()
теперь можно гибко управлять MIME-типом хранимых в буфере обмена данных. Ранее при вызовеgetData()
был доступен лишь строго определённый набор разрешённых MIME-типов. - Поддержка синтеза речи в версиях Firefox для настольных компьютеров в рамках программного интерфейса (API) Web Speech.
-
Дальнейшее расширение поддержки WebExtensions API — нового способа создания расширений, основанного на веб-технологиях HTML/CSS/JS и частично совместимого с аналогичными возможностями других браузеров:
- управление историей посещений (
history
): поиск по истории, получение информации о ранее посещённых страницах, а также добавление и удаление записей из истории посещений; - метод
tabs.removeCSS()
позволяет удалять стили, ранее добавленные с помощью методаtabs.insertCSS()
.
- управление историей посещений (
Прочее
- Прекращён выпуск Windows-версий Firefox для процессоров с поддержкой технологии SSE первого поколения (Pentium III и ниже).
- В режиме чтения доступна возможность автоматизированного озвучивания текста синтезированным голосом (включается кнопкой с пиктограммой, символизирующей звуковую волну, на вертикальной панели слева) с использованием средств, предоставляемых операционной системой. К сожалению, в Windows 7 русский язык не поддерживается. В Windows 10 русский язык поддерживается, и звучит такая речь относительно
сноснонеплохо.
См. также официальные примечания к выпуску и информацию для разработчиков.