Firefox 43
- Опубликовано:
Предновогодний выпуск браузера Firefox может похвастаться публично доступной официальной 64-битной версией и другими новшествами.
CSS, HTML
- CSS-свойство
hyphensтеперь доступно без префикса-moz-. Свойство позволяет управлять расстановкой переносов в тексте и изначально было реализовано в Firefox 6 (полноценно — с поддержкой не только англоязычных текстов — в Firefox 8) более 4-х лет назад. - Поддержка CSS-свойства
transform-originв SVG-документах, экспериментально реализованная в Firefox 41 и скрытая заabout:config-параметромsvg.transform-origin.enabled, включена по умолчанию. Свойствоtransform-box, тоже экспериментально реализованное в Firefox 41, по-прежнему скрыто, но вместоabout:config-параметраsvg.transform-origin.enabledза это теперь отвечаетsvg.transform-box.enabled. - Поддержка включения значения CSS-свойства
font-stretchв значение стенографического свойстваfont. - CSS-псевдокласс
:-moz-full-screen(нестандартная версия пока неподдерживаемого:fullscreen) теперь соответствует не только элементу верхнего уровня, но и всем вложенным — аналогично реализации IE11 и Edge. - Поддержка проверки целостности (Subresource Integrity) ресурсов (например, внешних JS-сценариев), подключённых к странице с помощью HTML-элементов
SCRIPTиLINK, путём сравнения реального хэша ресурса с указанным в атрибутеintegrityсоответствующего элемента.
JavaScript
- Значение мета-элемента
viewportтеперь можно динамически изменять с помощью JavaScript. Ранее в Firefox приходилось генерировать и добавлять в документ новый мета-элемент с нужным значением. - Поддержка ES2016-метода
includes()массивов (ArrayиTypedArray), экспериментально реализованная в Firefox 40, включена по умолчанию. Изначально метод называлсяcontains(), но был вынужденно переименован из-за несовместимости с версией этого метода, используемой в библиотеке MooTools версий ниже 1.2.6. Хорошая иллюстрация того, почему изменение непосредственно стандартных объектов (вместо создания объектов-обёрток, безопасных для будущих версий стандартов и браузеров) является плохой практикой. - Теперь возможна установка значения заголовка
User-Agentдля Ajax-запросов, отправляемых с помощьюXMLHttpRequest.setRequestHeader()и его fetch-версии. - Поддержка стандартной (без префикса) версии программного интерфейса (API) Screen Orientation. Поддержка нестандартных свойств
mozOrientationиonmozorientationchangeи методовmozLockOrientation()иmozUnlockOrientation()в дальнейшем будет удалена. - Изменения реализации массива
argumentsаргументов функций:- В соответствии с текущей спецификацией ES2015, у функций, определённых с использованием стрелочного синтаксиса (arrow functions), теперь нет собственного массива
arguments— вместо этого наследуется одноимённый объект родительской полноценной функции. Для получения функциональности, подобной массивуarguments, применительно к стрелочным функциям можно использовать передачу списка аргументов с помощью синтаксиса остальных параметров (rest parameters). - Поддержка использования массива
argumentsвнутри функции, при указании аргументов которой использован синтаксис остальных параметров. - Автоматического изменение значения аргумента функции при изменении соответствующего элемента массива
arguments(mapped arguments object) теперь возможно только в функциях, не содержащих остальных параметров, значений параметров по умолчанию и destructured-параметров.
- В соответствии с текущей спецификацией ES2015, у функций, определённых с использованием стрелочного синтаксиса (arrow functions), теперь нет собственного массива
Инструменты разработки
- В консоли теперь выводится цепочка вызовов (трассировка стека, stack trace), приведшая к исключению JavaScript.
- Консоль теперь поддерживает вывод серверных отладочных сообщений, отправленных с использованием протокола Chrome Logger, подразумевающего передачу данных в заголовке ответа сервера
X-ChromeLogger-Data. По умолчанию вывод сообщений отключён, включить можно путём активации фильтра «Сервер». - Функция «Скриншот узла» в инструменте разработки «Инспектор», изначально реализованная в Firefox 41, теперь учитывает плотность точек (DPI) и, соответственно, правильно работает, например, на 4K-мониторах.
Прочее
- Публично доступна официальная 64-битная сборка Firefox. Реально она существовала уже начиная с Firefox 42, но лишь на FTP-сервере Mozilla, а теперь ссылка помещена на официальную веб-страницу скачивания браузера, благодаря чему доступна более широкому кругу пользователей.
См. также примечания к выпуску и информацию для разработчиков.