This page was translated from English by the community.Learn more and join the MDN Web Docs community.
Firefox 63 для разработчиков
В этой статье перечислены ключевые изменения, которые касаются разработчиков. Firefox 63 был выпущен 23 октября 2018 года.
In this article
Изменения для веб-разработчиков
>Инструменты разработчика
- Вкладкаинспектора «Шрифты» обзавелась редактором, облегчающим просмотр и правку настроек используемых шрифтов. Подробнее см. вEdit fonts.
- Включён по умолчаниюинспектор поддержи доступности (Firefox bug 1482454).
- При наведении курсора на объект винспекторе поддержки доступности,элемент будет подсвечен, а его роль и имя показаны в информационной панели на странице (Firefox bug 1473030).
- Командная строкавеб-консоли теперь находится не внизу окна, а прямо после вывода консоли (Firefox bug 1136299).
- Если адрес принадлежит домену, о котором известно, что он отслеживает пользователей,сетевой монитор покажет специальный значок перед этой ссылкой — см.Значки безопасности (Firefox bug 1333994).
- Настройка
devtools.aboutdebugging.showSystemAddonsотныне по умолчанию имеет значениеfalse, что означает — системные дополнения не будут показаны на страницеabout:debugging. Значение этой настройки можно изменить на страницеabout:config(Firefox bug 1425347). - Упрощена панель инструментоврежима адаптивного дизайна, кроме того, добавлена возможность выровнять область просмотра по левому краю.
- Для пользовательских элементов инспектор теперь показываетссылку на определение класса (Firefox bug 1443923).
HTML
- Элемент
<img>обзавёлся поддержкой атрибутаdecoding(Firefox bug 1416328); см. такжеHTMLImageElement.decoding.
Удалено
- Удалена поддержка ссылок с типом
sidebar(rel="sidebar") (Firefox bug 1452645).
CSS
- Добавлена поддержка псевдокласса
:defined(Firefox bug 1331334). - ВFlexbox-раскладку добавлена поддержка
row-gap,column-gapиgap(Firefox bug 1398483). - Снова включена поддержказапросов pixel-density правила @media, у которых есть префикс -webkit (Firefox bug 1444139).
- Реализована поддержка свойствCSS Flexible Box Layout (Flexbox)
align-self,align-contentиalign-items, а такжеjustify-content(Firefox bug 1472843). - Реализована функция
pathдляoffset-path(Firefox bug 1429298). - Внесеныулучшения синтаксиса из спецификации Media Queries Level 4 (Firefox bug 1472843).
- Свойства
offset-*переименованы вinset-block-start,inset-block-end,inset-inline-startиinset-inline-end(Firefox bug 1464782). - Добавлена поддержкаprefers-reduced-motion (Firefox bug 1365045,Firefox bug 1475462).
- Свойство
resizeобзавелось относительно-направленными значениями (block,inline) (Firefox bug 1464786). - Реализована flexbox-раскладка для значений
safeиunsafeвalign-self,align-contentиjustify-content(Firefox bug 1297774). - Логические свойства (там, где это необходимо) стали анимируемыми (Firefox bug 1309752).
Удалено
- Удалены
offset-block-start,offset-block-end,offset-inline-startиoffset-inline-end; как упомянуто выше, они переименованы вinset-*(Firefox bug 1464782).
SVG
Без изменений.
JavaScript
- Реализована поддержка свойства
Symbol.prototype.description(Firefox bug 1472170). - Добавлен метод
Object.fromEntries(Firefox bug 1469019). - Существенно улучшено сообщение об ошибке, выдаваемое при попытке доступа к свойству не определённого объекта. В случае, когда
xне определён, а вы пытаетесь получить доступ кx.y, консоль вернёт более понятноеx не определён; невозможно получить доступ к его свойству "y"вместоTypeError: x не определён(Firefox bug 1259822).
Удалено
- Удалена экспериментальная поддержка сериализации IndexedDB WebAssembly.Module (Firefox bug 1469395).
API
Новые API
- Включена по умолчанию поддержка API Shadow DOM (Firefox bug 1471947) и Custom Elements (Firefox bug 1471948); см.Веб-компоненты для получения подробных сведений.
- Реализован APIMedia Capabilities (Firefox bug 1409664).
- Реализована и включена по умолчанию поддержкаAPI Async Clipboard (Firefox bug 1461465). Как и в Chrome, в Firefox реализованы лишь методы
writeText()иreadText(), но, в отличие от Chrome,readText()доступен лишьдополнениям. - Поддерживается интерфейс
SecurityPolicyViolationEvent. Он позволяет отправлять события при нарушенииContent-Security-Policy(Firefox bug 1472661).
DOM
Включены по умолчанию следующие элементы APIWeb Animations (см.Firefox bug 1476158):
- Свойства
readyиfinishedAnimation, указывающие наPromisereadyиfinishedобъектаAnimation. - Свойство
effectобъектаAnimation. - Интерфейсы
KeyframeEffectиAnimationEffect.
- Свойства
Реализован метод
Element.toggleAttribute()(Firefox bug 1469592).В целях совместимости добавлена поддержка нестандартного свойства
Event.returnValue(Firefox bug 1452569).Теперь, когда свойство
Window.eventстало стандартным, оно реализовано в Firefox в целях совместимости (Firefox bug 218415), но из-за проблем совместимости (см.Firefox bug 1479964) включено лишь в «ночных» выпусках. Его поддержкой управляет настройкаdom.window.event.enabled(Firefox bug 1493869).Для паритета с Edge и Chrome свойство
navigator.platformотныне возвращает"Win32"даже в 64-разрядных операционных системах Windows (Firefox bug 1472618).Раньше, ссылки, открывающие новые окна с
rel="noopener", иWindow.open()сnoopenerприводили к тому, что у окна были отключены все свойства и разработчику приходилось включать необходимые ему стандартные свойства. Отныне такие окна будут иметь все те же свойства, что и любое другое окно, а разработчику следует отключать нежелательные (Firefox bug 1419960).
События DOM
На платформе Windows улучшена обработкаправой клавиши
Alt
. Если в текущей раскладке клавиша
Alt
назначена на
AltGr
, значение
KeyboardEvent.keyбудет"AltGraph". Такое поведение соответствует поведению, принятому недавно в Chrome (Firefox bug 900750).
Медиа, Web Audio и WebRTC
- Доступ к микрофону теперь работает одновременно в нескольких вкладках, даже в рамках одного процесса контента (Firefox bug 1404977).
RTCDataChannelтеперь поддерживает формат данных sctp-sdp-21 в дополнение к старому формату sctp-sdp-05.- Узлы
ConstantSourceNodeотныне имеют не один, а два канала (Firefox bug 1413283). - Интерфейс APIWeb Audio
AudioScheduledSourceNode(и все остальные типы узлов, основанные на нём) теперь выбрасывает корректное исключение (RangeError), если время начала узла представляет собой отрицательное значение (Firefox bug 1413284). - Минимальные и максимально допустимые значения
valueобъектаAudioParamизменены на минимальное отрицательное число с плавающей запятой одинарной точности (-340,282,346,638,528,859,811,704,183,484,516,925,440) и максимальное положительное число с плавающей запятой одинарной точности (+340,282,346,638,528,859,811,704,183,484,516,925,440) (Firefox bug 1476695). - Включена по умолчанию поддержка метода
SourceBuffer.changeType, позволяющего изменить кодеки во время активного потока. Это часть APIMedia Source Extensions (Firefox bug 1481166). - Метод
AudioParam.setValueCurveAtTime()обновлён, чтобы корректно принимать массив значений с плавающей запятой для указания значений параметров, которые изменяются со временем. До этого он требовалFloat32Array(Firefox bug 1421091). AudioParam.setValueCurveAtTime()обновлён, чтобы возвращать правильныйTypeError, если в массивеvaluesобнаружено не конечное значение (Firefox bug 1472095).- Кроме того,
setValueCurveAtTime()обновлён таким образом, чтобы, когда параметр заканчивает следовать кривой значений, значение параметра устанавливалось в соответствии с последним значением в списке значений кривой (Firefox bug 1308436). - Словарь
RTCRTPStreamStatsпереименован вRTCRtpStreamStatsсогласно прочим словарям WebRTC и спецификации (Firefox bug 1480498). - Словарь
RTCRtpStreamStatsполучил поддержку свойстваkind(Firefox bug 1481851). - Свойство
isRemoteсловаряRTCRtpStreamStatsобъявлено устаревшим и будет удалено в Firefox 65. При доступе к свойству будет выведено предупреждение в консоли. Подробности вблоге (Firefox bug 1393306).
Canvas и WebGL
HTMLCanvasElement.getContext()обзавёлся новым атрибутомpowerPreference. В macOS, при наличии нескольких графических процессоров, это позволяет приложениям и апплетам WebGL, которым не важна производительность, запрашивать слабый GPU вместо более мощного и потребляющего больше энергии (Firefox bug 1349799).
Удалено
- Удалены устаревшие нестандартные методы
Window.back()иWindow.forward(), реализованные лишь в Firefox. Вместо них следует использовать методыwindow.history.back()иwindow.history.forward()(Firefox bug 1479486). - Методы
createObjectURL()иrevokeObjectURL()больше не доступны на экземплярахServiceWorker, поскольку легко приводят к утечкам памяти (Firefox bug 1264182). - Удалена устаревшая и ограниченная поддержка эффектов Доплера на
PannerNode. У интерфейсаAudioListenerудалены свойстваdopplerFactorиspeedOfSound, кроме того, у интерфейсаPannerNodeудалён методsetVelocity()(Firefox bug 1148354).
CSSOM
Без изменений.
HTTP
- Реализован заголовок
Clear-Site-Data; больше он не скрыт за соответствующей настройкой (Firefox bug 1470111).
Безопасность
- Фавиконы сайтов отныне подчиняютсяполитике защиты контента (CSP), если она настроена (Firefox bug 1297156).
- Выражение
'report-sample'директивы CSPscript-srcотныне учитывается при создании отчёта о нарушении. Эта директива указывает, что в отчёт должен быть включён краткий пример того, где произошло нарушение. До этого Firefox всегда включал такой пример в отчёт (Firefox bug 1473218). - Библиотеки NSS обновлены до версии 3.39 (Firefox bug 1470914).
Плагины
Без изменений.
WebDriver (Marionette)
Новые возможности
- Marionette будет возвращатьвозможность
setWindowRectв ответыWebDriver:NewSession, если браузер поддерживает все команды позиционирования и изменения размера окна (это верно лишь для Firefox, но не для любого мобильного приложения) (Firefox bug 1470659). - Реализована поддержка возможности
unhandledPromptBehavior, позволяющая настроитьprompt behavior (Firefox bug 1264259). - Командам
WebDriver:ExecuteScriptиWebDriver:ExecuteAsyncScriptдобавлена возможность обработки запросов к пользователю (Firefox bug 1439995).
Изменения API
- Удалены устаревшие конечные точки команд без префикса
WebDriver:(Firefox bug 1451725). - Команда
WebDriver:NewSessionвозвращает рекомендованные строки (linux,mac,windows) дляplatformName, как и определено в спецификации WebDriver (Firefox bug 1470646).
Исправленные ошибки
- События, связанные с фокусом, отсутствовали при взаимодействии элементов, если окно браузера находилось в фоне (Firefox bug 1398111).
- Последовательное выполнение действий
pointerDownиpointerUpмогло вызвать двойной щелчок, посколькуWebDriver:ReleaseActionsне сбрасывал счётчик двойных щелчков (Firefox bug 1422583). - Многократное выполнение действий
pauseмогло привести к бесконечному зависанию (Firefox bug 1447449). WebDriver:ExecuteScriptиWebDriver:ExecuteAsyncScriptвызывали ошибку циклической ссылки при возвращении коллекции элементов (Firefox bug 1447977).- Для предотвращения состояния гонки команды
WebDriver:AcceptAlertиWebDriver:DismissAlertбудут ожидать закрытия запроса к пользователю (Firefox bug 1479368). - Записи журнала, вызванные скриптом фрейма, не ограничивались
MarionettePrefs.logLevel, а содержали всё подряд (Firefox bug 1482829). WebDriver:TakeScreenshotвызывал ошибку при создании скриншота окна, у которого размер стороны превышал 32767 пикселей (Firefox bug 1485730).WebDriver:SendAlertTextне заменял текст по умолчанию в запросе у пользователя, если переданный текст представлял собой пустую строку (Firefox bug 1486485).
Прочее
- Исправлено поведение
PerformanceObserver.observe(): этот метод теперь ничего не делает, если в указанном массиве типов записей не обнаружены допустимые типы записей или массив пуст/отсутствует. До этого некорректно выбрасывалсяTypeError(Firefox bug 1403027). - ФорматOpenSearch теперь допускает использование
application/jsonв качестве типа URL-адреса (application/jsonявляется ссылкой наapplication/x-suggestions+json) (Firefox bug 1425827).
Изменения для разработчиков дополнений
>Изменения API
Темы
Цвет текста по умолчанию для значков
browserActionтеперь автоматически становится чёрным или белым, чтобы достичь максимального контраста с фоном (Firefox bug 1474110).Свойства
accentcolorиtextcolorключаthemeтеперь необязательны (Firefox bug 1413144).browserAction.getBadgeTextColor()иbrowserAction.setBadgeTextColor()позволяют получать и настраивать цвет текста значковbrowserAction(Firefox bug 1424620).Объект
colorsключаthemeтеперь поддерживает свойстваntp_text(для указания цвета текста в новой вкладке) иntp_background(для указания цвета фона) (Firefox bug 1347204).Темы получили возможность настраивать цвет боковых панелей, например, боковой панели закладок (Firefox bug 1418602). Соответствующие свойства:
sidebar: цвет фона.sidebar_text: цвет текста.sidebar_highlight: цвет фона выделенного элемента.sidebar_highlight_text: цвет текста выделенного элемента.
Метод
management.install()позволяет дополнениям устанавливать и задействовать подписанные темы (Firefox bug 1369209).
Поиск
- Новый API
searchпозволяет получить список установленных поисковых плагинов, и выполнять поиск с их помощью (Firefox bug 1352598). topSites.get()получил поддержку параметраoptions, позволяющего настроить различные параметры возвращённого списка сайтов (Firefox bug 1445836).
Вкладки
tabs.onHighlightedотныне поддерживает множественное выделение (Firefox bug 1474440).tabs.highlightтеперь включает необязательное поле в объектеhighlightInfo—populate— по умолчанию имеющее значениеtrue. Установка его значения вfalseзапрещает возвращённому объектуwindows.Windowзаполнять список вкладок, что положительно сказывается на производительности (Firefox bug 1489814).tabs.updateпозволяет менять статус выделения вкладки с помощьюhighlighted: trueв параметреupdateProperties(Firefox bug 1479129).tabs.updateподдерживает изменения статуса выделения вкладки без изменения фокуса (Firefox bug 1486050). Для этого в параметреupdatePropertiesиспользуются одновременноhighlighted: trueиactive: false.tabs.queryстала возвращать массив объектовtabs.Tabпри выборе нескольких вкладок (Firefox bug 1465170).- Свойство
tabs.Tabтеперь корректно отражает то, какие вкладки выделены (подсвечены), аtabs.highlightподдерживает изменение статуса выделения нескольких вкладок (Firefox bug 1464862). - Свойство
isarticleв объектеextraParameters, передаваемом вtabs.onUpdated, переименовано вisArticle. Старое название сохранено, но объявлено устаревшим. Это изменение попало в Firefox 62 (Firefox bug 1461695). - Событие
tabs.onUpdatedпозволяет отслеживать, какая вкладка привлекает внимание пользователя с помощью свойстваattentionобъектаchangeInfo(Firefox bug 1396684).
Меню
- В API
menusдобавленmenus.getTargetElement(). Метод возвращает щелчок по элементу, на который ссылается параметрtargetElementId(Firefox bug 1325814). menus.create()теперь позволяет создавать невидимые пункты меню,menus.update()позволяет переключать видимость пунктов меню (Firefox bug 1482529).- Элементы, созданные с помощью API
menus, обзавелись поддержкой клавиш доступа (Firefox bug 1320462). - Параметр
menus.create()иmenus.update()targetUrlPatternsтеперь поддерживает любые схемы URL-адресов, даже те, которые обычно не допускаются в шаблоне соответствия (Firefox bug 1280370). - При нажатии на элемент контекстного меню вкладки,разрешение "activeTab" будет дано этой вкладке, даже если она не является активной (Firefox bug 1446956).
Прочее
commands.onCommandтеперь расценивается какпользовательский ввод (Firefox bug 1408129).- API
webRequestпозволяет фильтровать speculative-соединения (Firefox bug 1479565). webRequest.SecurityInfoобзавёлся свойствамиkeaGroupNameиsignatureSchemeName. Это изменение попало в Firefox 62 (Firefox bug 1471959).cookies.Cookieвключает свойство, показывающее состояние атрибута SameSite у кук. Перечислениеcookies.SameSiteStatusопределяет значение состояния SameSite (Firefox bug 1351663).- Шаблоны соответствия для URL-адресов теперь явно соответствуют схеме "данные" (Firefox bug 1280370).
Предыдущие версии
- Firefox 62 для разработчиков
- Firefox 61 для разработчиков
- Firefox 60 для разработчиков
- Firefox 59 для разработчиков
- Firefox 58 для разработчиков
- Firefox 57 для разработчиков
- Firefox 56 для разработчиков
- Firefox 55 для разработчиков
- Firefox 54 для разработчиков
- Firefox 53 для разработчиков
- Firefox 52 для разработчиков
- Firefox 51 для разработчиков
- Firefox 50 для разработчиков
- Firefox 49 для разработчиков
- Firefox 48 для разработчиков
- Firefox 47 для разработчиков
- Firefox 46 для разработчиков
- Firefox 45 для разработчиков
- Firefox 44 для разработчиков
- Firefox 43 для разработчиков
- Firefox 42 для разработчиков
- Firefox 41 для разработчиков
- Firefox 40 для разработчиков
- Firefox 39 для разработчиков
- Firefox 38 для разработчиков
- Firefox 37 для разработчиков
- Firefox 36 для разработчиков
- Firefox 35 для разработчиков
- Firefox 34 для разработчиков
- Firefox 33 для разработчиков
- Firefox 32 для разработчиков