Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Веб-программирование > JavaScript / HTML

JavaScript / HTML Создание динамической разметки страниц

Ответ
 
Опции темы
Старый 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)
Старый 05.02.2012, 11:35   #2
Aikon
ПроЭктировщик
 
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений
(для 52 пользователей)
Ответ: Google Chrome Frame: избавление от IE

ABTOMAT, не все "опознавательные знаки замазал" :D
Сайт - *nin.com

Если бы я увидел такое сообщение, то убежал бы прочь с такого сайта. С другой стороны, кто немного разбирается уже в IE редко сидят.
(Offline)
 
Ответить с цитированием
Старый 05.02.2012, 14:10   #3
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Google Chrome Frame: избавление от IE

Если бы я увидел такое сообщение
Но ты бы не увидел, т.к. ты не сидишь на IE. (наверное)
В любом случае ящитаю "предложить Chrome Frame" - лучше, чем "ничего не делать"
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

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

(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
NetBuilding (12.04.2012), Phantom (06.02.2012)
Старый 12.04.2012, 14:37   #4
NetBuilding
ПроЭктировщик
 
Аватар для NetBuilding
 
Регистрация: 07.06.2010
Сообщений: 105
Написано 5 полезных сообщений
(для 13 пользователей)
Ответ: Google Chrome Frame: избавление от IE

А как реализовать для всех старых браузеров. такое что когда зажодишь на сайт выкидывается страничка где написано что у вас старый браузер можете его обновить или скачать другой далее ссылочки на разные браузеры (ну про ссылки на сайты браузеров то понятно). Самое главное чтоб была ссылка на тему "Хочу наслаждаться своим Стариной" при нажати на нее пользователь бы наслаждался своей стариной.
__________________

Юзаю Ubuntu, Юзаю Mac
(Offline)
 
Ответить с цитированием
Старый 12.04.2012, 19:06   #5
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Google Chrome Frame: избавление от IE

если(юзер зашёл на страницу "Я_хочу_юзать_старинный_браузер")
{
в куки юзеру записать "старина = 1";
отправить юзера на главную страницу;
}
иначе // юзер на любой другой странице сайта
{
по хидерам определить, старинный ли браузер или нормальный;

если(в куках нет записи "старина = 1" И браузер старинный) // Старинный браузер и юзера ещё не предупреждали
{
показать юзеру страницу с браузерами + ссылку на страницу "Я_хочу_юзать_старинный_браузер";
}
иначе // У юзера новый браузер либо он сказал что хочет юзать старый
{
Показать сайт как есть;
}
}
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

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

(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
NetBuilding (13.04.2012), Randomize (12.04.2012), Reks888 (12.04.2012), SBJoker (12.04.2012)
Старый 26.04.2012, 07:15   #6
NetBuilding
ПроЭктировщик
 
Аватар для NetBuilding
 
Регистрация: 07.06.2010
Сообщений: 105
Написано 5 полезных сообщений
(для 13 пользователей)
Печаль Если Юзверь хочет юзать свой старый браузер

В индексе
<script type="text/javascript">if (navigator.cookieEnabled && !$.cookie("obr")) {
    var a = getBrowser();
    if ("Chrome" == a[0] && 14 > a[1] || "Firefox" == a[0] && 6 > a[1] || "MSIE" == a[0] && 8 > a[1] || "Opera" == a[0] && 10 > a[1])
      $.cookie("obr", "old", {a:1}),
        location.href = "http://Старый-браузер.клмн"
  }
  </script>
на странице древнего браузера
<a href="javascript:history.back();" mce_href="javascript:history.back();" >Ну нафиг</a>
Нефига не работает как надо. а надо чтоб возвращался на страницу где был
уже все перепробовал, в разных браузерах по разному работает.
__________________

Юзаю Ubuntu, Юзаю Mac
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 13:36.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com