Прокрутить к контенту ↓


Firefox 47

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

CSS

  • Поддержка флага i (например, [foo="bar" i]) в селекторах атрибутов для выборки элементов по атрибуту без учёта регистра.
  • Поддержка свойства display-mode для различения разных режимов отображения (отображение на весь экран, отображение в окне в качестве обычной программы без элементов браузерной навигации и проч.) веб-приложений в Media Queries.
  • Поддержка псевдоэлемента ::backdrop, который может использоваться для сокрытия основного содержимого документа в полноэкранном режиме.

JavaScript

  • Поддержка Browser API, позволяющего расширениям использовать элемент IFRAME в роли окна верхнего уровня.
  • Поддержка методов Object.values() и Object.entries(), определённых в стандарте ES2017 (ES8) и позволяющих получить в виде массива содержащиеся в переданном объекте данные без необходимости его обхода с помощью цикла for...in с проверкой hasOwnProperty().
  • Fullscreen API, позволяющий запрашивать у пользователя согласие на переключение браузера в полноэкранный режим и изначально реализованный в Firefox 10, теперь доступен без префикса (только в предварительных сборках Developer Edition и Nightly; в стабильной и Beta-версиях пока отключено из-за обнаруженных Microsoft проблем совместимости беспрефиксного варианта с некоторыми сайтами).
  • Реализация метода Notification.requestPermission() в рамках Notifications API обновлена с использованием Promise-синтаксиса в соответствии с текущей версией спецификации. Прежний синтаксис с использованием функции обратного вызова объявлен нерекомендуемым, и его поддержка в дальнейшем может быть удалена.
  • Встроенный в браузер механизм разбора CSS-лексем (tokenizer) теперь доступен для расширений. Правда, похоже, нет возможности получить в виде строки непосредственно заданное в стилях число с плавающей запятой без искажений, обусловленных природой таких чисел.
  • Более полная поддержка WebExtensions API:

    • частичная поддержка назначения горячих клавиш;
    • частичная поддержка работы с механизмом загрузки файлов, отслеживания прогресса загрузки и поиска по списку ранее загруженных файлов;
    • механизм WebRequest для перехвата веб-запросов, востребованный в том числе в расширениях, предназначенных для отключения скриптов и блокировки рекламы;
    • завершена реализация функциональности интернационализации (i18n);
    • близка к завершению реализация функций для работы с закладками;
    • улучшения в работе со вкладками и окнами;
    • все асинхронные методы, принимающие функцию обратного вызова, теперь возвращают Promise-объект, если callback-функция не была передана.

    WebExtensions API представляет собой набор высокоуровневых программных интерфейсов для создания расширений для браузеров, совместимый с аналогичным API браузеров на основе Chromium и в долгосрочной перспективе позиционируемый в качестве замены существующим способам создания расширений на основе XUL.

Инструменты разработки

  • В режиме разработки «Адаптивный дизайн» поддерживается отправка произвольного заголовка запроса User-Agent. К сожалению, нет возможности сохранять пользовательские значения, равно как не предусмотрен и список предустановленных значений.
  • Из инструментов разработки удалён отладочный инструмент «3D-просмотр» (3D View) ввиду его несовместимости с многопроцессным режимом (e10s), включить который по умолчанию планируется в Firefox 48. 3D-просмотр позволял наглядно визуализировать вложенные элементы страницы в виде расположенных друг над другом цветных объёмных объектов. В качестве временной альтернативы можно по-прежнему использовать расширение Tilt 3D, на котором и была основана встроенная в браузер аналогичная функциональность, но оно не обновлялось с 2011 года и с многопроцессным режимом тоже несовместимо.

Прочее

  • Добавлено : К сожалению, удалена поддержка нулевого значения атрибута colspan в соответствии с текущей спецификацией HTML и для единообразия с другими браузерными движками, разработчики которых данную возможность до сих пор не реализовали.
  • Поддержка видеоформата VP9 на компьютерах, обладающих достаточным быстродействием (быстродействие, вероятно, определяется оценочно — на основании количества ядер и номинальной тактовой частоты процессора).
  • Видеоролики YouTube, вставленные на страницы других сайтов в виде Flash-роликов, теперь при отсутствии Flash-плагина воспроизводятся средствами HTML5-элемента VIDEO.
  • Применительно к HTML-элементу AUDIO теперь поддерживается воспроизведение звуковых файлов в формате Wave с использованием сжатия по алгоритму CCITT μ-Law с частотой дискретизации 8 КГц и разрядностью 8 бит.
  • Поддержка декодирования зашифрованных MP4-медиапотоков с помощью программного модуля Google Widevine в версиях Windows начиная с Vista и в Mac OS X.
  • Упразднён белый список плагинов, не требующих щелчка для активации. Теперь активации не требуют только Flash-ролики.

См. также официальные примечания к выпуску и информацию для разработчиков.