войти зарегистрироваться

FirefoxВстречайте text-align-last

Три месяца назад SiDChik столкнулся с необходимостью расположить текст с выключкою по ширине (justify), однако последнюю строку текста выровнять по центру (см. иллюстрацию справа).

Решением этой задачи могло бы стать CSS-свойство text-align-last, однако в тот момент оно поддерживалося только во браузере Internet Explorer — поэтому SiDChik поневоле вынужден был сочинить собственный плагин для jQuery, достигающий той же цели, и выложил полезный плод своего труда на Хабрахабре.

С удовлетворением сообщаю, что тот момент начал медленно и постепенно отходить в прошлое: догоняя Internet Explorer, также и второй из двух наиболее популярных браузеров — Mozilla Firefox — получил поддержку CSS-свойства text-align-last в середине января (баг 536557 закрыт тринадцатого числа). Суммарная доля пользователей IE и Файерфокса настолько значительна, что неминуемо окажет давление и на производителей остальных (менее популярных) браузеров, понуждая ко внедрению того же свойства. Всем нам, например, не так уж трудно заметить, что баг 76173 движка WebKit был открыт по горячим следам внедрения text-align-last в Файерфоксе (и даже чуть ли не прямо в тот же день).

FirefoxFirefox будет отображать переводы строк (LF) во всплывающих подсказках (атрибутах title)

Как известно, спецификация HTML 4.01 чёрным по белому требует того, чтобы в строковых атрибутах (CDATA) символы перевода строки (LF) игнорировались, а символы возврата каретки (CR) заменялись пробелами.

А вот в спецификации HTML5, наоборот, символы перевода строки (LF) в атрибуте title считаются значимыми. Предполагается, что можно набрать код наподобие нижеследующего:
<a href="…" title="Первая строка.
Вторая строка.">…</a>
и ожидать, что при наведении на гиперссылку явится двустрочная всплывающая подсказка.

Кстати, я-то там набрал «&#10;» — но Хабрахабр заменил этот код реальным переводом строки. По меньшей мере, у меня в Файерфоксе. Этакий вот баг хабратэга <source>. Впрочем, согласно HTML5, значимыми являются обе эти формы перевода строки. И сам символ, и его entity.

Internet Explorer как раз так всю дорогу и вёл себя (по меньшей мере, последние шесть лет) — плевать хотел на HTML 4.01, отображал многострочную подсказку. Уместно думать, что именно поведение MSIE послужило источником вдохновения для авторов соответствующего подраздела HTML5.

А несколько дней назад (25 января) эта проблема (bug 358452) была решена и в Файерфоксе. По-видимому, первой версией Файерфокса с поддержкою многострочных всплывающих подсказок станет Firefox 12.

FirefoxMozilla Firefox завибрирует

Этой зимою нам довелось заметить такие полезные новинки в мобильном Файерфоксе, как контроль за зарядом аккумулятора и управление мобильной связью и SMS. Позавчера во блоге Mozilla Hacks были опубликованы сведения о том, что разработчики Firefox 11 также обеспечили сайтам интерфейс, управляющий вибрацией мобильного телефона.

В простейшем случае достаточно задать джаваскриптом длительность вибрации, выраженную в миллисекундах:

navigator.mozVibrate(1000);

Несколько более сложная вибрация задаётся при помощи массива, нечётные элементы которого задают длительность вибрации, а чётные — длительность последующей паузы. Вот пример краткой двойной вибрации:

navigator.mozVibrate([200, 100, 200, 100]);

Чтобы немедленно прекратить вибрацию мобильника (не дожидаясь окончания указанных длительностей), достаточно передать тому же методу нулевую длительность или пустой массив:

navigator.mozVibrate(0);
navigator.mozVibrate([]);

Черновик соответствующего стантарта опубликован на сайте W3C.

FirefoxНовые API во браузере Firefox позволят на JavaScript работать с мобильною связью

Всякий, кто взглядывал на график выхода новых версий браузера Firefox, ожидающихся в 2012 году, уж конечно видел там, что прямо сейчас идёт работа над внедрением новых возможностей в версии Firefox 12 которая, постепенно пройдя через стадии «Aurora» и «Beta», выйдет в свет в конце апреля нынешнего года. И вот почему, просто глядя на все те возможности, которые нынче внедряются в Firefox 12, можно предвидеть будущие возможности web-приложений почти на полгода вперёд — и порадоваться (а не то и посидеть с отвисшею челюстью) заранее.

Сейчас я обращу ваше внимание на две наиболее примечательные из недавних новинок.

Внедрён API WebSMS (описанный в MozillaWiki и обсуждавшийся в багзилле), который добавит в DOM объекты, управляющие отправкою и приёмом сообщений SMS.

Внедрён API WebTelephony (описанный в MozillaWiki и обсуждавшийся в багзилле), который добавит в DOM объекты, позволяющие звонить по телефону, а также принимать (или отклонять) входящие звонки и интересоваться состоянием мобильника (таким, как «идёт набор номера», «дозвон», «занято», «соединился», «рассоединился», «входящий звонок», и так далее).

Само собой разумеется, что эти интерфейсы предназначены для мобильных версий Файерфокса.

FirefoxВозьми API, JavaScript; поди узнай скорей-ка, что в Файерфоксе нашем села батарейка!…

Как известно, в W3C идёт работа над черновиком стандарта Battery API, реализация которого позволит джаваскрипту в браузере наблюдать за уровнем заряда аккумуляторной батареи в том мобильном устройстве (мобильнике, планшете, нетбуке, ноутбуке и так далее), на котором браузер запущен.

Речь идёт о появлении объекта navigator.battery со свойствами navigator.battery.charging (логическое; равно true, когда устройство подзаряжается) и navigator.battery.level (число от 0.0 до 1.0, выражающее величину заряда батареи по отношению к максимальному заряду её). Оба свойства — только для чтения. У этого объекта также будут события, позволяющие наблюдать за изменениями состояния батареи примерно так:

navigator.battery.addEventListener('chargingchange', function () {
   if (navigator.battery.charging) {
      console.log('Устройство только что воткнули в розетку.');
   }
}, false);

В конце осени нынешнего (2011) года соответствующий объект (под именем navigator.mozBattery) добавили в объектную модель Файерфокса одиннадцатой версии (см. баг 678694); её появления по графику следует ожидать в середине марта будущего (2012) года, а бету мы увидим в сáмом начале февраля. Жду с нетерпением, потому что мобильный Firefox одиннадцатой версии вообще обещает заблистать множеством изменений по сравнению с десятым.

FirefoxFirefox Sync будет поддерживать синхронизацию дополнений (расширений и тем оформления) между компьютерами

Как известно, Firefox Sync это средство, позволяющее двум (или более) браузерам Mozilla Firefox на нескольких компьютерах (или даже мобильниках) иметь один и тот же набор закладок, паролей, настроек, посещённых страниц и открытых вкладок. Набор этот пополняется синхронно: например, добавишь закладку на одном компьютере — а она тотчас же появляется и на другом.

Каждый пункт из этого списка может быть отключён (скажем, кто нипочём не желает передавать сохранённые пароли с личного компьютера на рабочий, тот напрочь отключает синхронизацию сохранённых паролей). Расширения же могут добавлять собственные элементы для синхронизации: скажем, Adblock Plus умеет поделиться противорекламными фильтрами.

Разработчики Файерфокса подумали-подумали, да в декабре нынешнего (2011) года добавили в Firefox Sync поддержку синхронизации и самих расширений (см. баг 534956); если учесть график, то её появление в релизе состоится весною 2012 года.

Подробности о работе новой функции изложены в MozillaWiki. Спервоначалу она коснётся только расширений, расположенных на addons.mozilla.org, и будет по умолчанию не включена у нынешних пользователей Firefox Sync, чтобы не ужаснуть их возможными резкими переменами внешнего вида и функциональности браузера после обновления.

ТипографикаMozilla Firefox будет поддерживать технологию Graphite от SIL International

Технология Graphite, разработанная SIL International, заключается в пополнении шрифта в формате TrueType тремя дополнительными таблицами данных, описывающими особенности системы письменности. Правила, внедрённые в шрифт, описывают изменения символов в зависимости от контекста: это лигатуры, замены символов, автоподстановки символов, перестановки символов, привязка диакритических знаков, кернинг, рост ширины символов через удлинение горизонтальных штрихов, и так далее. Код Graphite, интерпретирующий эти правила, распространяется свободно (по условиям GNU Lesser General Public License и Common Public License).

Смысл Graphite в том, что знание об особенностях системы письменности (например, таких, как изменение формы арабских согласных в зависимости от их положения в слове: в начале, в середине, в конце слóва, отдельно стоящие; подобных особенностей в азиатских языках множество, я привёл только наиболее известную) и учёт всех этих особенностей возлагается не на каждую отдельную программу (такую, как браузер или редактор документов), и даже не на библиотеку, используемую для отображения шрифтов (такую, как Graphite), а размещается автором шрифта непосредственно в шрифте.

Усилия по интернационализации того или иного программного обеспечения (авторы которого могут жить на противоположной стороне планеты и ничего не знать не только о письменности, но и о самóм существовании какого-нибудь небольшого народа) сводятся, таким образом, к простому употреблению нужного пользователям шрифта; предполагается, что разработчик шрифта куда ближе знаком с особенностями той письменности, чьи буквы рисует да описывает метаданными.

MozillaMozilla и Google подписали трехлетний договор о сотрудничестве



В конце прошлого месяца в Сети начали циркулировать слухи о том, что Google не собирается продлевать договор с Mozilla (суть договора — включение поискового сервиса «Корпорации Добра» в функционал браузера). Затем слухи были опровергнуты, поскольку обе компании таки смогли договориться, и договор о сотрудничестве был подписан. Новый договор, насколько можно судить, очень выгоден для Mozilla. Стоит напомнить, что именно Google является главным спонсором Mozilla, финансовые вливания со стороны поискового гиганта составляют примерно 80% от общего бюджета Mozilla. Сейчас Google будет платить 300 миллионов долларов своему партнеру в год, и это будет продолжаться три года (возможно, через три года договор будет продлен).

Каскадные Таблицы СтилейСвойство «text-size-adjust» становится более кроссбраузерным

Читателям справочника «Safari CSS Reference» уж конечно попадалось в нём свойство «-webkit-text-size-adjust», которое, согласно справочнику, управляет отображением текста на мобильнике (iOS) и может принимать одно из трёх следующих значений:

  →  «auto» (текст на мобильнике подстраивается автоматически);

  →  «none» (размер текста на мобильнике не изменяется);

  →  «60%» (или другой процент) означает желаемый относительный размер текста на мобильнике.

Роджер Йоханссон в своём блоге «456 Berea Street» предостерегал от употребления этого свойства и призывал отказаться от него напрочь, потому что однажды столкнулся с сайтом, на котором это свойство имело значение «none» и привело к тому, что размер шрифта нельзя было увеличить не только в мобильнике, но и в обыкновенном компьютере (нажатием «Command-Plus») ни в одном из браузеров на основе WebKit: ни в Safari, ни в Chrome, ни в OmniWeb, ни в iCab…

Несмотря на это, WebKit — не единственная основа мобильных браузеров; как мы знаем, существует ещё и мобильный Firefox. Разработчики Firefox объявили в вики MDN, что Firefox 11 и более новых версий также станет поддерживать свойство «text-size-adjust», которое, таким образом, становится ещё более кроссбраузерным. (Как XaocCPS мне подсказывает, это свойство под именем «-ms-text-size-adjust» поддерживается также и в Windows Phone 7.)

FirefoxБудущие выпуски Файерфокса

20 декабря 31 января 13 марта 24 апреля 5 июня
Firefox 12 в mozilla-central Firefox 13 в mozilla-central Firefox 14 в mozilla-central Firefox 15 в mozilla-central Firefox 16 в mozilla-central
Firefox 11 → Aurora Firefox 12 → Aurora Firefox 13 → Aurora Firefox 14 → Aurora Firefox 15 → Aurora
Firefox 10 → бета Firefox 11 → бета Firefox 12 → бета Firefox 13 → бета Firefox 14 → бета
Firefox 9 выходит Firefox 10 выходит Firefox 11 выходит Firefox 12 выходит Firefox 13 выходит