Pull to refresh

Взгляд в ближайшее будущее: Firefox 4

Firefox
Во блоге Ajaxian и во блоге Mozilla Hacks появились блогозаписи о том, каков будет грядущий Firefox 4.

Главная новость: Firefox 4 станет окончательным номером той альфа-версии браузера, которая была до этого известна нам в качестве Firefox 3.7.

Одна из основных инноваций Firefox 3.7 (а именно, вычленение плагинов в отдельный процесс) ужé выпущена в составе Firefox 3.6.4.

Помимо неё, в Firefox 4 появятся вот какие новинки:

→  Поддержка SVG и MathML прямо внутри HTML5, без необходимости прибегать к строгому XHTML и пространствам имён.

→  Интерпретатор HTML5 в отдельном потоке, поэтому интерфейс браузера не будет тормозить в момент обработки крупных страниц.

→  Интерпретатор HTML5 будет поддерживать HTML5 forms.

→  Вызов innerHTML станет работать быстрее (примерно на 20%).

→  Поддержка WebSockets (вебоприложения получат дуплексную связь с вебосервером).

→  PushState улучшит AJAX-взаимодействия.

→  Новые средства взаимодействия с вебостраницами: жесты, многотык (multi-touch).

→  Улучшенная поддержка CSS3.

→  Редактируемое содержимое страниц (contentEditable).

→  IndexedDB: структурированное JSON-подобное (а не SQLite-подобное, как было прежде) хранилище данных.

→  Интерфейсы для доступа к микрофонам и вебокамерам посетителей сайта.

Читать дальше →
Total votes 140: ↑93 and ↓47 +46
Views 992
Comments 126

eCSStender: модульное средство реализации свойств CSS3 в прежних браузерах

CSS *
Помните ли, как (много лет подряд) был известен проект IE7-JS (автор — Dean Edwards), нацеленный на подтягивание Internet Explorer 6 (а затем и Internet Explorer 7) до уровня современных браузеров?

Теперь другой разработчик развил эту идею. В последнее время появляются ведь и такие свойства CSS3, которые поддерживает только один современный движок (например, WebKit), или даже не поддерживает ни один (потому что все движки требуют к этому свойству своих префиксов: «-moz-», «-ms-», «-o-», «-webkit-» — а иначе не работают). Все браузеры нуждаются в костылях (более или менее основательных) для поддержки CSS3.

Библиотека eCSStender (автор — Aaron Gustafson) претендует на роль основы именно такого костыля. Я говорю «основы», так как сама по себе она предоставляет лишь небольшую (≈20 Kb JS) платформу, занимающуюся анализом CSS-стилей — а поддержкою конкретных CSS-свойств должны заниматься (работая поверх неё) отдельные расширения, написанные в соответствии с документацией. Сейчас есть ужé с полдюжины расширений, из которых половина — костыли для IE.

Читать дальше →
Total votes 34: ↑24 and ↓10 +14
Views 715
Comments 13

-prefix-free: изящный и миниатюрный «костыль» на JavaScript, избавляющий от необходимости вспоминать и перечислять префиксы свойств CSS3 для разных браузеров

CSS *
Tutorial
Всякому такому автору сайта, который когда-либо снабжал своё детище стилями CSS3, уж конечно доводилось сталкиваться с необходимостью многократно повторять одно и то же свойство CSS3 и давать ему одно и то же значение, но указывая перед именем свойства различные префиксы разработчиков браузеров (vendor prefixes).

Эти префиксы необходимы для того, чтобы во браузерах работали те свойства CSS3, которые ещё не до конца стандартизированы: считается, что отдельное задание свойства для каждого из нынешних браузеров поможет в дальнейшем обойти возможное различие между нынешней реализацией свойства в каждом конкретном браузере и окончательными требованиями страндарта. Во браузере Mozilla Firefox для этой цели употребляется префикс «-moz-», в Google Chrome и в Apple Safari (и в других браузерах на основе Webkit) — префикс «-webkit-», в Опере — префикс «-o-», в IE — префикс «-ms-», а в Konqueror (и в наиболее ранних версиях Safari) — префикс «-khtml-».

На практике, однако же, автор сайта чаще всего использует своего рода «общий знаменатель» возможностей нескольких браузеров — значения свойств CSS3, работающие одинаково (или почти одинаково) во всех современных браузерах. Да и записываются все они также одинаково. Указание префиксов сводится поэтому ко многократному повторению свойств. Например, чтобы придать нескольким кнопкам jQuery-плагина ColorBox закруглённые края и заставить их отбрасывать тень, поневоле придётся записать в CSS вот что:
#cboxPrevious, #cboxNext, #cboxClose {
   -webkit-box-shadow: 0 0 6px #000;
      -moz-box-shadow: 0 0 6px #000;
           box-shadow: 0 0 6px #000;
   -webkit-border-radius: 6px;
      -moz-border-radius: 6px;
           border-radius: 6px;
}

Во-первых, это задалбывает.

Во-вторых, это неэкономично.

В-третьих, всегда существует риск забыть о необходимости указать тот или иной префикс. (В списке «How to avoid common CSS3 mistakes» эта ошибка — на первом месте.)

Поэтому рано или поздно должно было появиться какое-нибудь средство, позволяющее автору CSS-кода указать одни только безпрефиксные формы CSS-свойств и CSS-значений — а автоматика позаботилась бы об их адаптации к каждому конкретному браузеру.

И такое средство появилось — благодаря Lea Verou. Вот оно:

[-prefix-free]

Читать дальше →
Total votes 82: ↑55 and ↓27 +28
Views 17K
Comments 83

rgba.php: изящный и миниатюрный «костыль» обеспечивает обратную совместимость с браузерами, не понимающими полупрозрачные цвета rgba(…)

CSS *
Tutorial
Обеспéчение обратной совместимости rgba(…) ещё никогда не было таким простым, как copy+paste:

background: url('/rgba.php/rgba(255, 255, 255, 0.3)');
background:                rgba(255, 255, 255, 0.3);

Код rgba.php на языке PHP, которым достигается этот восхитительно простой трюк, лежит на GitHub под лицензией MIT. Занимает всего-навсего 2658 байтов.

Автор — Lea Verou. Хвала ей!
Total votes 33: ↑19 and ↓14 +5
Views 8.2K
Comments 22