Firefox 43 для разработчиков
Установить Firefox Developer Edition Firefox 43 был выпущен 15 декабря 2015 года. В этой статье перечислены ключевые изменения, которые полезны не только для веб-разработчиков, но и для разработчиков Firefox и Gecko, а также для разработчиков приложений.
Важные изменения для Веб Разработчиков
Инструменты разработчика
Главное:
- Просмотр логов сервера в Консоли Веб (en-US)
- Быстрый поиск правила переопределяющего объявление CSS
- Новый пункт в контекстном меню Инспектора : "Use in Console"
- "Strict" опция для фильтрации в Rules view
- Сообщения в панели Сеть, в Консоли теперь ссылаются на Сетевой Монитор (en-US)
- В Инспекторе при обзоре разметки можно увидеть индикатор указывающий псевдоклассы у соответствующих элементов
- Новая боковая панель в WebIDE
CSS
- Удалён префикс CSS-свойства
hyphens(баг 953408). - CCS свойство
fontтеперь поддерживает указаниеfont-stretch(en-US) баг 1057680). - Псевдокласс
:fullscreenтеперь выбирает весь стек элементов с дисплея в полноэкранном режиме, а не только элементы высшего уровня (баг 1199522). - Устаревшие свойства SVG
writing-mode,lr,lr-tb,rl,tb, andtb-rl, добавлены в CSS как алиасы стандартных CSS-свойств (баг 1205787).
HTML
- Для тега
<img>с изображением формата ICO содержащего несколько кадров (анимированного), разрешение изображения будет равным разрешению самого большого кадра, а не самого малого баг 1201796. - Значение области просмотра документа (viewport) (определённого с помощью тега
<meta name="viewport>) можно динамически изменять с помощью JavaScript (баг 976616).
JavaScript
Новые API
- Новые методы ES2016
Array.prototype.includes()иTypedArray.prototype.includes()(en-US) доступны по умолчанию (баг 1070767).
Изменения связанные с объектом arguments
- Более полное соответствие спецификации ES2015, стрелочные функции больше не содержат свой собственный встроенный объект
arguments. Объектargumentsтеперь прикреплён лексически (наследуется от внешней функции). В большинстве случаев, остаточные параметры лучшая альтернатива(...args) => args[i], смотри баг 889158. - Объект arguments теперь разрешается использовать вместе с остаточными параметрами (баг 1133298).
- Теперь, объект map
argumentsв нестрогих функциях доступен только если функция не содержит другие остаточные параметры, или параметры по умолчанию илиdestructured parameters (баг 1175394).
Interfaces/APIs/DOM
DOM & HTML DOM
Без изменений.
IndexedDB
- Добавлена сортировка с учётом локали, которая позволяет создавать индексы учитывающие локаль. Эти индексы потом могут быть использованы чтобы отсортировать данные с учётом правил локали. (баг 871846). Это не стандартная функция и доступна только в Firefox.
Service Workers
- Согласно спецификации, если
ExtendableEvent.waitUntil()был вызван вне обработчикаExtendableEvent, Firefox выброситInvalidStateError; также несколько подряд идущих вызововwaitUntil()теперь будут помещены в стек, и результирующие промисы будут добавлены в extend lifetime promises (баг 1180274). - Реализованы методы
PushMessageData(en-US) (баг 1149195).
WebRTC
- Метод
HTMLCanvasElement.captureStream()активирован в Firefox по умолчанию (баг 1177276).
Разное
- Battery Status API (en-US) теперь использует новый синтаксис промисов для
Navigator.getBattery(), так как это описано в последней версии спецификации (баг 1050749). - Заголовок
User-Agentболее не в списке forbidden header names и теперь может быть установлен в объект FetchHeaders(en-US), через XHRXMLHttpRequest.setRequestHeader(),… (баг 1188932). - Конструктор
MediaRecorder.MediaRecorder()теперь принимает дополнительно необязательный параметр типа словарь (dictionary), который позволяет вам устанавливать произвольный битрейт для записываемого аудио/видео (баг 1161276). - Реализован интерфейс
PerformanceObserver(en-US), из Performance Timeline API (баг 1165796). - Добавлены дополнительно два интерфейса в Frame Timing API,
PerformanceRenderTimingиPerformanceCompositeTiming(баг 1191178). - Реализована современная версия Screen Orientation API (en-US): доступны беспрефиксные интерфейсы
Screen.orientation(en-US) иScreenOrientation(en-US) (баг 1131470). Не стандартныеScreen.mozOrientation,Screen.onmozorientationchange,Screen.mozLockOrientation(), иScreen.mozUnlockOrientation()будут удалены в будущем. - В Линукс, как и в Windows,
Event.timeStampтеперь возвращает {domxref("DOMHighResTimeStamp")}} (баг 1026803). - Экспериментальная поддержка
Selectionсобытийselectionchangeиselectstart, а также добавленыDocument.onselectionchange(en-US) иGlobalEventHandlers.onselectstart(en-US) свойства для обработчиков событий (баг 571294). Событиеselectionchangeтеперь возникает наDocumentесли связано с объектомSelection, или в особом случаеHTMLInputElementилиHTMLTextAreaElement(en-US) (баг 1196479). Это свойство контролируется с помощью настройкиdom.select_events.enabled, которое по умолчанию имеет значениеfalse, за исключением Firefox Nightly. - Поддержка
MouseEvent.offsetXиMouseEvent.offsetY(en-US) доступна по умолчанию в Android версии Firefox и Firefox OS (баг 1204841). - Удалён метод
HTMLCanvasElement.mozFetchAsStream()(баг 1206030). - Конструктор
Request()(en-US) а такжеfetch()(en-US) теперь выбросит исключениеTypeErrorесли будет использовано в URL которое содержит параметры с именами username и password (баг 1195820).
MathML
Без изменений.
SVG
Без изменений.
Audio/Video
Без изменений.
HTTP
Без изменений.
Networking
Без изменений.
Безопасность
- Доступ к Web Storage (i.e.
localStorageиsessionStorage) из других IFrame-мов запрещён если у пользователя заблокированы куки из сторонних сервисов (других веб-сайтов) (баг 536509). - Белый список удалён из Nightly и Aurora/Dev Edition браузеров (баг 1201023). Также запланировано удаление из Beta и Release версий в следующей версии (Firefox 44).
- Реализована целостность ресурсов для
<script>и<link>которые ведут к файлам стилей (баг 992096).
Изменения для разработчиков дополнений и разработчиков Mozilla
Interfaces
Без изменений.
XUL
Без изменений.
JavaScript code modules
Без изменений.
XPCOM
Без изменений.
Other
Без изменений.
Старые версии
- Firefox 42 для разработчиков (en-US)
- Firefox 41 для разработчиков (en-US)
- Firefox 40 для разработчиков (en-US)
- Firefox 39 для разработчиков (en-US)
- Firefox 38 для разработчиков (en-US)
- Firefox 37 для разработчиков (en-US)
- Firefox 36 для разработчиков (en-US)
- Firefox 35 для разработчиков (en-US)
- Firefox 34 для разработчиков (en-US)
- Firefox 33 для разработчиков
- Firefox 32 для разработчиков
- Firefox 31 для разработчиков
- Firefox 30 для разработчиков (en-US)
- Firefox 29 для разработчиков
- Firefox 28 для разработчиков
- Firefox 27 для разработчиков (en-US)
- Firefox 26 для разработчиков (en-US)
- Firefox 25 для разработчиков (en-US)
- Firefox 24 для разработчиков (en-US)
- Firefox 23 для разработчиков (en-US)
- Firefox 22 для разработчиков (en-US)
- Firefox 21 для разработчиков (en-US)
- Firefox 20 для разработчиков (en-US)
- Firefox 19 для разработчиков (en-US)
- Firefox 18 для разработчиков (en-US)
- Firefox 17 для разработчиков (en-US)
- Firefox 16 для разработчиков (en-US)
- Firefox 15 для разработчиков (en-US)
- Firefox 14 для разработчиков (en-US)
- Firefox 13 для разработчиков (en-US)
- Firefox 12 для разработчиков (en-US)