Шифрующийся IE одиннадцатой версии.

Самые популярные товары с Али по лучшей цене здесь

Брендовая карта памяти Lexar на 32Gb 330 руб.
Бабушкин пульт - один пульт вместо нескольких 300 руб.
MP3-плеер, поддержка карты памяти до 8 Гб 100 руб.

12 ноября 2013, 12:00

Шифрующийся IE одиннадцатой версии.

Шифрующийся IE одиннадцатой версии.

Не узнать гейшу:
Совсем другой человек
Без кимоно.

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

На этот раз нас ждал сюрприз.
Далее - подробно для ценителей тонкого айтишного юмора.

Неуловимый Джо.

Довольно популярная сейчас Винда за номером 8.1, которую настырно суют во все продаваемые компы и ноуты, оборудована, как мы знаем, дефолтным браузером IE11. Который (внимание!) на уровне юзерагента никак себя не проявляет. В юзерагенте теперь больше нет никаких слов про IE11, и даже традиционного MSIE тоже нигде сбоку не пририсовано. А есть там дословно вот что:

Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko

То есть, по-простому говоря, наши сайты больше не могут определить, что пришёл человек с браузером MSIE в частности, и с его 11 версией в конкретности. Потому как у наших сайтов есть только один метод детектировании посетительского браузера - по юзерагенту. Что обычно делается прямо силами CSS, дабы подсунуть посетителю ту версию дизайна, что согласится работать с этим браузером максимально корректно.

Очевидно, теперь это напрямую сделать не можно. Ибо браузер себя никак не идентифицирует методами, предусмотренными уставом. Опознавание свой-чужой не работает чуть более, чем полностью, и вся идеологи поддержки сайтами тех или иных релизов IE тоже летит ко всем чертям.

И это весело. Потому как IE всегда был, скажем так, несколько особенным, поддерживал свои собственные конструкции на уровне CSS и JavaScript, и имел свой взгляд на интерпретирование стандартных тегов HTML и их атрибутов. В частности, в том числе и поэтому в своё время дизайнеры забили на таблицы, и ломанулись к дивам. С таблицами у IE всегда был особенный интим...

IE и режимы совместимости.

Простой серфер вряд ли понимает, что именно скрыто за окошком браузера на уровне софта. Ему этого знать не надо. Но вот разработчик (да тот же вебмастер), сталкиваясь с очередными чудесами, должен хотя бы приблизительно понимать, в чём причина тех чудес.

Начинаем знать, что каждая последующая версия IE может работать в режиме совместимости с любой ей предшествующей, начиная с IE7. Используя при этом отдельный движок, причём отличный от эмулируемого. То есть, к примеру, в новом IE11 режим совместимости с IE10 работает не эквивалентно нативному IE10 браузеру. Плюс не забываем про Quirks Mode (стандартно это уровень IE5.5), но тоже не без исключений - в десятом IE есть ажно парочка таких мод.

То есть расколбас по движкам такой:
(формат - версия, % пользователей, поддерживаемые режимы)


IE7: 0.7% IE7 + Quirks Mode;
IE8: 2.3% IE8 + IE7 + Quirks Mode;
IE9: 1.7% IE9 + IE8 + IE7 + Quirks Mode;
IE10:  4% IE10 + IE9 + IE8 + IE7 + Quirks Mode + Quirks (IE5);

Правда, дело осложняется ещё и целым набором операционок - браузеры под Win7, Win8, Windows Phone и Windows RT ведут себя не равнозначно при одной и той же своей версии. Причём в «восьмёрке» целых два разных и независимых друг от друга браузера — отдельно для десктопового режима, и отдельно для интерфейса «Метро» - Аллах знает, зачем оно так. И из набора «версия браузера - все его режимы совместимости - вариации в зависимости от операционной системы» уже получается форменный зоопарк. Штук двадцать вариантов.

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

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

http://iecvlist.microsoft.com/IE11/1375395130872/iecompatviewlist.xml

Получается, что вся эта канитель продолжается в том же духе, и нет ей конца.

О чём же плач?

По всей видимости, кроме «спрятанного юзерагента» (интересно, как теперь работать с банк-клиентом, функционирующим исключительно под IE, определяемым именно по юзерагенту, и вообще отказывающимся хоть как-то фурыкать, если юзерагент неправильный?), наши сайты тоже теперь станут ограниченно функциональны.

Будем надеяться, что дизайнеры, матерясь и стеная, перепишут свой CSS так, чтобы функционал жил и в условиях не детектирования правильного юзерагента. Однако, этим дело не ограничится. Такие вещи, как:


document.all
window.execScript()
window.doScroll()
script.onreadystatechange
script.readyState
document.selection
document.createStyleSheet
style.styleSheet

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

Наверное, стоит этим озадачиться, ибо IE11 доступен для версий Винды, начиная с «семёрки», а юзеров с оной довольно много.

Другие статьи категории «Вебмастеру на заметку»

Гугл отнял у вебмастеров и SEO-шников поисковые запросы.

Гугл отнял у вебмастеров и SEO-шников поисковые запросы. Не так давно, года примерно два тому назад, традиционное осеннее обострение наложилось на неистребимое желание бенефициаров Гугла увеличить свой доход. Ибо все простые методы из-за их очевидности давно уж исчерпаны, и наступил черёд извращений. В результате изобрелась концепция, на которую никто особого внимания поначалу и не обратил.

Матом об островитянах (уберите детей).

Матом об островитянах уберите детей. Сайтовладельцы, в основном и составляющие аудиторию этого блога, по совместительству обычно все как один ещё и манимейкерствующие юзеры. Которым не наплевать на трафик своего сайта, а заодно и на те места, откуда этот трафик берётся. В том числе не наплевать им на поисковики, которых по факту полезных-то всего две штуки.

Пингвины славятся маразмом...

Пингвины славятся маразмом... Чуть менее года назад, аккурат во Всемирный день защиты лабораторных животных, или 24 апреля по привычному нам календарю, Гугл сморозил очередную шутку юмора. Озадачил всех хомячков в этот святой для них день своим очередным алгоритмом «Пингвин». Всякий новый алгоритм обычно приносит с собой целый спектр разнообразных проблем.
Все заметки категории «Вебмастеру на заметку»