Firefox 10

Юбилейная, десятая версия браузера Firefox, одновременно ставшая первой в 2012 году, предлагает ряд улучшений и изменений, некоторые из которых заслуживают особого внимания.

CSS

  • Схлопывание (collapsing) вертикальных полей (margin) таблиц приведено в соответствие со спецификацией: вертикальные поля таблиц теперь схлопываются так же, как у блочных элементов. Ранее только и именно из-за этого последние 10 лет приходилось заключать практически каждую таблицу в элемент DIV и назначать поля уже ему.
  • Исправлено позиционирование элементов в таблицах.
  • Поддержка 3D Transforms — трёхмерных преобразований отображаемых объектов средствами CSS.
  • Поддержка обновлённого синтаксиса линейных CSS-градиентов (linear-gradient(), repeating-linear-gradient()), с использованием нового ключевого слова to и нового алгоритма magic corners, позволяющего точно задать необходимый цвет градиента в углах заливаемого градиентом блока.

JavaScript, DOM

  • Поддержка DOM3-событий mouseenter и mouseleave.
  • Удалена поддержка DOM-метода Node.isSameNode() на том основании, что этот метод удалён из текущего черновика стандарта DOM4. Вместо метода теперь предлагается использовать прямое сравнение узлов как переменных: node1 === node2. Изменение спорное и способно нарушить работоспособность многих веб-приложений.
  • Поддержка Full Screen API (программного интерфейса для перехода полноэкранный режим средствами JavaScript), экспериментально впервые внедрённая в Firefox 9, теперь включена по умолчанию. Параллельно реализована поддержка JavaScript-свойства document.mozFullScreenEnabled, позволяющего средствами JavaScript определить, доступен ли в браузере полноэкранный режим, и нестандартного CSS-псевдокласса :-moz-full-screen-ancestor, соответствующего всем родительским элементам элемента, находящегося в конкретный момент в полноэкранном режиме.
  • Поддержка Page Visibility API — JavaScript-свойств hidden и visibilityState (пока с префиксом Moz) объекта document, позволяющих определить, являются ли текущие вкладка/окно отображаемыми или находятся в фоновом режиме.
  • Экспериментальная поддержка Battery API в лице объекта window.navigator.mozBattery, свойства и события которого позволяют веб-приложению следить за уровнем заряда батарей переносных устройств. По умолчанию доступна будет в Firefox 11, а пока включается конфигурационным параметром dom.battery.enabled.

Разработка

  • Новые отладочные методы console.time() и console.timeEnd() позволяют измерять быстродействие JavaScript-кода.
  • Инспектор (Page Inspector) — новый инструмент веб-разработчика, позволяющий визуально выбирать элементы на странице и просматривать их HTML-код и привязанные к ним CSS-стили. Доступен в меню «Веб-разработка» → «Инспектор» в обычном меню «Инструменты» или в меню кнопки Firefox.

Прочее

  • Поддержка сглаживания (antialiasing) при отрисовке трёхмерной графики средствами WebGL, что делает её более реалистичной.
  • Дополнения (расширения, темы) теперь по умолчанию совместимы с текущей версией Firefox, даже если формально в качестве максимальной версии автором расширения указана более старая версия Firefox. Включить строгую проверку (как раньше) на уровне браузера можно с помощью настройки extensions.strictCompatibility, на уровне расширения — параметром em:strictCompatibility в установочном manifest-файле. Некоторые дополнения по-прежнему помечаются как несовместимые, к таковым относятся: дополнения, содержащие бинарные компоненты, дополнения, максимальная формально совместимая версия Firefox для которых ниже 4-й версии, и дополнения, несовместимость которых была выявлена командой дополнений Firefox.
  • Именно на основе Firefox 10 выпущена корпоративная версия Firefox (отдельный дистрибутив для организаций) с увеличенным 42-недельным периодом поддержки (Extended Support Release, ESR), автоматически упраздняющая Firefox 3.6, являвшийся до текущего момента последней версией Firefox, выпущенной до перехода на короткий 6-недельный цикл разработки, оказавшийся непригодным для корпоративных пользователей по причине слишком частого обновления браузера.

См. также: