Показать сообщение отдельно
Старый 14.01.2012, 17:05   #1
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Google Chrome Frame: избавление от IE

Вообще, штука не новая, но всё же решил написать.

Откуда взялся?
Отсюда.

Где потестить?
Здесь.
Зачем оно надо?.
Думаю, не осталось ни одного верстальщика, который бы не столкнулся с "радостями" IE старых версий. Перечислять не буду, все вы их хорошо знаете, а кто не знает - скорее всего, ошибся разделом.

Суть-то в чём: править баги IE стоит дополнительных часов, которые, зачастую, никто оплачивать не будет. Кроме того, многие вещи вообще в принципе IE не поддерживает -> придётся использовать обходные пути, которые дороже в разработке и, опять же, никто не оценит.

Возможные выходы из ситуации:

1. Предложить юзеру сменить браузер. Вот он обрадуется, что у него и страницы грузиться быстрее стали, и жаба работает шустро, да и эффекты новые - ещё и спасибо скажет!
Как бы не так. Знаю много людей, кто не меняет свой "любимый" IE потому что он к нему привык. Особо тяжёлые случаи даже IE6 специально не обновляют, потому что даже новые версии IE для них сложны в понимании. К сожалению, таких много.

2. Попросить у заказчика денег и времени на оптимизацию сайта под IE старых версий. Скорее всего, заказчик просто вас не поймёт.

3. Забить. Так делают многие, но нехорошо как-то.

Кто такой, чем знаменит?

Компромисс предложила Корпорация Добра. Суть её такова: есть плугин, который ставится на IE (подобно флешу, например). С этого момента IE рендерит страницы движком Хрома. Без глюков, быстро и радостно. С оговоркой: разраб должен вставить один тег в заголовок страницы.

Как юзать?

Нужно вставить вот этот тег в голову страницы:
<meta http-equiv="X-UA-Compatible" content="chrome=1"
Теперь, если юзер зайдёт на неё И у него установлен плугин, страница отрендерится Хромом.
Кроме того, можно указывать, какие версии IE должны реагировать, а какие нет. Вот так:
chrome=1 - Always active
chrome=IE7 - Active for IE major version 7 or lower
chrome=IE8 - Active for IE major version 8 or lower
Подробнее - в документации.

Но нужно ещё и предложить юзеру поставить плугин, если у него его нет. Гугл уже предоставил возможность предложить юзеру сделать это.

Выглядит это примерно так:


К сожалению, выглядит оно как очередное рекламное предложение и юзер сразу же его закроет. Я рекомендую делать свои собственные предложения установить.

Делать это несложно: между тегами <!--[if lte IE 7]> и <![endif]--> (замените на желаемую версию IE) вставляем код, отвечающий за предложение об установке.

Для себя я выработал несколько правил того, как оно должно выглядеть:

1. Запрос должен быть оформлен в стиле самого сайта (желательно содержать его логотип)
Тогда юзер поймёт, что это не очередная реклама.
2. Запрос не должен содержать многобуков. Если многобуков - велика вероятность, что юзер не захочет читать и уйдёт. Текст должен быть ясным и простым: Требуется - Установи. Кнопка Install должна находиться рядом и на видном месте, и должно быть сразу понятно что она делает.
3. Запрос должен дать понять, что поставить надо и никак иначе. Ну или как минимум чтобы кнопка "закрыть" не была на самом видном месте (чтобы юзер сначала прочитал, ища её, а не машинально на неё ткнул), если вы всё же решили дать возможность лазить по сайту на осле. Например у меня сделан оверлей так что нельзя просто игнорировать запрос.

Вот так, например, оно выглядит у меня (извините, замазал опознавательные знаки):



А вот так оно выглядит в IE6 после установки плугина:



Что в итоге?
1. Не нужно править баги IE
2. Велика вероятность, что юзер таки поставит плуг (ставят же Flash, в конце концов)
3. Можно использовать text-shadow, border-raduis и т.д., чем значительно сократить время разработки (и конечную стоимость)
4. После установки плугина юзер не замечает, что он пользуется не IE. Когда он придёт на другой такой сайт, ему не надо будет ничего ставить снова, всё заработает само.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена


Последний раз редактировалось ABTOMAT, 14.01.2012 в 18:19.
(Offline)
 
Ответить с цитированием
Эти 16 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
baton4ik (14.01.2012), FireOwl (14.01.2012), Harter (15.01.2012), HolyDel (14.01.2012), Hurrit (14.01.2012), is.SarCasm (05.02.2012), L.D.M.T. (14.01.2012), Leowey (22.01.2012), moka (14.01.2012), Nex (03.05.2014), pax (15.01.2012), Phantom (06.02.2012), Randomize (14.01.2012), Reks888 (14.01.2012), SBJoker (14.01.2012), tormoz (15.01.2012)