Firefox 31

Firefox 31 — новый выпуск современного веб-браузера. Некоторые из наиболее интересных новшеств:

  • Долгожданная поддержка переменных в CSS. Согласно окончательному синтаксису, переменная объявляется с помощью свойства с произвольным именем и префиксом -- (два дефиса подряд), а используется — с помощью CSS-функции var(), содержащей в качестве аргумента полное имя свойства, включая префикс (в изначальном варианте, согласно которому переменные предполагалось объявлять с помощью свойств с префиксом var-, префикс внутри вызова var() отбрасывался — теперь это не так).

    Переход на новый синтаксис на уровне спецификации был инициирован Табом Аткинсом буквально в последний момент и был призван подчеркнуть возможность использования пользовательских свойств (Custom Properties — именно так сейчас формально называются CSS-переменные) не просто в качестве переменных, подобных уже доступным в CSS-препроцессорах, а для создания JS-скриптов класса polyfill. На момент внесения изменений в спецификацию переменные уже были реализованы в предварительных сборках Firefox, в итоге потребовались дополнительные изменения в Firefox.

    Значения переменных, в отличие от других неподдерживаемых браузером нестандартных CSS-свойств, доступны из JavaScript с помощью обычного getComputedStyle(), в то время как кроссбраузерное прямое чтение произвольных (без префикса --) нестандартных свойств в настоящее время невозможно (хотя для разумных веб-разработчиков это, пожалуй, было бы наилучшим вариантом) и к добавлению в стандарт не планируется под тем предлогом, что вместо благого дела — эмуляции новых стандартных свойств в старых браузерах — веб-разработчики начали бы изобретать собственные, заведомо нестандартные свойства и использовать их даже в самых свежих браузерах, что в будущем, при возможном добавлении одноимённых свойств в стандарт, могло бы привести к конфликтам и неправильной работе страниц, рассчитанных на использование свойства по назначению, отличному от предусмотренного спецификацией, созданной и реализованной в браузерах уже после создания веб-страницы.

  • Включена находившаяся более двух лет в разработке поддержка формата субтитров WebVTT, которые можно вставить на веб-страницу с помощью элемента TRACK внутри элемента VIDEO. На данный момент возможность реализована с некоторыми ограничениями, в частности пока не поддерживаются события enter, exit и change для объектов TextTrackCue, отображение субтитров не поддерживается для аудиозаписей, и не предусмотрено управление отображением субтитров на уровне пользовательского интерфейса плеера, реализуемого элементом VIDEO.
  • Формально полноценная поддержка абсолютного позиционирования элементов в ячейках таблиц, фактически уже реализованная в Firefox 30.
  • Окончательно удалён нестандартный экспериментальный программный интерфейс (API) Audio Data, изначально реализованный в Firefox 4, объявленный нерекомендуемым начиная с Firefox 22 и отключённый по умолчанию начиная с Firefox 28. Вместо него следует использовать стандартизованный Web Audio API, доступный начиная с Firefox 25.
  • Firefox для Windows теперь регистрируется в системе как приложение для открытия файлов PDF и Ogg Vorbis по двойному щелчку (при отсутствии других установленных приложений, уже привязанных к файлам этих типов).
  • Новый JavaScript-метод CSS.escape() позволяет экранировать служебные символы CSS в строке — полезно главным образом для безопасного использования произвольных строк в динамически генерируемых селекторах.
  • Возможность отладки дополнений. Для этого следует включить настройку «Включить отладку chrome и дополнений» и «Включить удалённую отладку» в секции «Дополнительные параметры» на странице настроек «Инструментов разработчика» — в результате в списке дополнений на странице «Управление дополнениями» у некоторых дополнений появится кнопка «Отладка», открывающая окно, позволяющее, в частности, устанавливать точки останова в JS-файлах, являющихся частью выбранного расширения. К сожалению, на данный момент возможность отладки, судя по всему, доступна только для дополнений, не требующих перезапуска браузера (restartless, bootstrapped).
  • Инструмент «Пипетка», ранее реализуемый дополнениями типа ColorZilla, теперь доступен в наборе инструментов разработки, встроенном в браузер. Включается настройкой «Захватить цвет со страницы» в секции «Доступные кнопки инструментов» на странице настроек инструментов разработчика.
  • Firefox 31 станет основой для ESR-сборки, предназначенной для корпоративного применения и отличающейся значительно увеличенным периодом выпуска обновлений безопасности.

О других новшествах Firefox 31 читайте в официальных примечаниях к выпуску и информации для разработчиков.