Pull to refresh

Comments 48

Вот теперь кроссбраузерная вёрстка превратится в настоящий ад.
Если сделают хорошую совместимость с HTML5 и будут идти в ногу со стандартом, то не должно… Но опыт подсказывает, что идеалы — миф…
Они то может и будут, но вот только когда IE 10/9 будут подавляющего числа среди использования IE вообще...? Эх, риторический вопрос.
Я увы не такой оптимист, чтобы поверить даже в эту иронию)
UFO just landed and posted this here
Никакого ада, просто процесс перегрузки стилей для IE будет чуть сложнее (body class=«IE IE6»).
зачем?
IE до 10 версии не потеряют возможности понимать условные комментарии.
Мы уже сейчас отказались от условных комментариев для IE9
Вот именно… Верстаете для ИЕ10 и для других браузеров как обычно (будем оптимистами и поверим что ИЕ10 будет рендерить так же как другие). После этого правите недочеты верстки с помощью условных коментариев: ИЕ10 их проигнорит, а старые браузеры отрендерят учитывая их.
Кстати я почему-то в самом начале так и подумал (когда прочитал заголовок статьи), но первые несколько комментариев сбили меня с толку.
я и под восьмушку отказался…
Что за истерика? Старые версии поддерживали комментарии и будут их поддерживать. С момента выхода IE9, я не встретил бага который требовал бы подключения дополнительных стилей для IE9.
css-хаки вроде еще не отменяют
никогда не использовал условных комментариев, лишний файл, больше нагрузки на сервер
они на своих ошибках походу не учатся?
UFO just landed and posted this here
Жаль. Я бы очень хотел чтобы у других браузеров были условные коментарии. Багами время от времени все страдают, к сожалению.
Клево. Убьют единственную no-js-возможность скормить старым ИЕ filter, а новым ИЕ градиент или какой нить -ms-transform. Дело в том, что единственный ксс-хак под ИЕ8 — это margin:0 \9; — но этот хак кушает и девятка. И через условные комментарии приходилось перебивать для ИЕ9 некоторые стили.

Ну что ж, будем использовать JS для определения…
А как они старые браузеры то убьют? Их никто трогать не будет. Тут о 10й версии идет разговор. Которая может быть даже будет более менее совместимой со стандартами…
Может быть даже, возможно, будет более-менее совместима с некоторыми стандартами, да и то вряд ли.
Ну чудеса ведь случаются…
да ладно, уже на допиливание кода под ие9 приходится тратить не больше времени, чем под оперу.
Ну есть еще серверные варианты, через user-agent
кстати, а что там у них с вендорными префиксами? может в крайних случаях можно будет ими развилку с стилях делать?
с ИЕ > 7 уже можно жить и для них отдельных стилей особо и не надо… ну не будет некоторых рюшечек, но и страница не будет разваливаться как в случае с 6-7 и для того чтобы это починить приходилось добавлять букет хаков
Вот не могли поднапрячься, засучить рукава и впихнуть условные комментарии в новый HTML5 рендерер.
Конечно могли. Но их цель как раз в том, чтобы разработчикам IE стало сложно различать без javascript. Им проще пересадить людей на modernizr. Может быть их бесят разработчики, которые вываливают пользователям попандеры «обновите браузер» через условные комментарии для всех IE. Может им не хочется, чтобы пользователи их браузера загружали больше ресурсов в виде адаптационных библиотек, тогда как они уже не нужны (теоретически). И еще можно привести десяток причин. А новый парсер это не причина, это повод.
UFO just landed and posted this here
Про самую полную поддержку стандартов вы наверно пошутили. Комментарии в стандарте есть, так что поддержка совместимости с предыдущими версиями через них ничего не нарушает.

Я не сторонник теорий заговора и не фанатичный ненавистник редмондской компании, но Microsoft именно та организация, которая постоянно пользуется любыми методами для получения конкурентного преимущества. И в данном случае у них есть серьезный повод так делать — стремительно падающая доля их браузера на рынке. Они не один год умышленно создавали такие технологические особенности, которые заставляли верстальщиков делать выбор между поддержкой стандартов и аудиторией, охваченной этим браузером. Сейчас ситуация уже не та — доля эксплорера упала настолько, что этот шантаж больше не проходит и им приходится идти на встречу стандартам. Но ведь они не взяли webkit, для которого не нужны никакие условные комментарии, они снова написали что-то свое и назвали это наиболее стандартным. Так почему же верстальщиков пугают такие заявления? Может потому, что будучи реалистом никто не ожидает, что корректный код, который замечательно отображается в Firefox-Opera-Chrome будет точно так же работать в новом IE.

PS: я буквально сегодня с удивлением обнаружил, что мой проект, который посещается только пользователями «В контакте», не имеющий никакого отношения к IT, имеет всего 12% посещений через IE. Сказать, что я удивлен, это ничего не сказать.
Ага, чтобы продолжать скармливать браузеру все, что находится между
<!--[if IE]>… <![endif]-->
а такого кода море. По-моему хватит за собой таскать хвосты.
ну ок, определить возможности браузера это прекрасно, а как побороть бл*дский пробел в три пикселя который какого-то рожна вылазит только в ИЕ?

Ну это я так, к примеру.
не от всего он спасает, при определенных условиях нужен какой-нить zoom:1 для relative или float…
или двойной боковой маргин у флоатов в ие6
Господа оптимисты, утверждающие, что новые IE не нуждаются/не будут нуждаться в костылях — подскажите плиз, а они отказались от своей чудовищной фичи hasLayout? В восьмом оно вроде бы жило и здравствовало…
Не было её уже даже в 8.
Интересно почему производители бразуеров до сих пор не договорились о подобной фиче, но кроссбраузерной? И может прямо в стандарте прописанной (эх мечты-мечты)? Ведь давно ведь уже очевидно какие не были бы правильные, четкие и всегда и всеми однозначно трактуемые стандарты и спецификации (что уже само по себе утопия), какие не были бы классные и инициативные девелоперы у разработчиков бразуеров — все равно в реальном мире реализация всегда будет пусть чуточку, да отличаться, не глобально, но как раз в тех мелочах, из-за которых потом весь «секас» и происходит. А тем более сейчас, когда веб стандарты очень часто меняются и дополняются.
Но признать этот факт и тем более продвинуть подобную фичу в стандарт — видимо тяжелый шаг для заседающих в комитетах…
Подобный способ был уже давно придуман. Называется «user-agent»
Думаю не надо рассказывать как там все гладко…
На этот подход как как раз и уповают разработчики браузеров и стандартов (и по ссылке в статье MS тоже этот самый способ продвигает, причем уже давно). Да в типовых случаях (часто описываемых в статьях евангелистов) это можно применить красиво и просто. Но клиентские веб-технологии уже далеко не всегда подразумевают наличие возможности напрямую вставить в разметку серверный код (блоги, CMS'ки и т.д.). И сама по себе практика использования серверного кода для управления разметкой и стилями — не очень прижилась, и очень часто здесь изобретаются свои велосипеды, которые сильно отличаются по возможностям. Вот например в external css — все так и пользуются css-хаками (сложившаяся де-факто практика), потому что включать серверную обработку css заради нескольких строк — зачастую слишком дорого по производительности. А даже если есть какой-то препроцессор, его инструкции верстальщику придется учить для каждой платформы отдельно. Почему с этим надо бороться, если хаками уже годами все явно и неявно пользуются? «не можешь победить, возглавь».
Основная мысль из статьи MS: определять не версию браузера, а его возможности и особенности поведения. Эта концепция исходит из факта, что в браузерах нет багов и все стандарты реализованы одинаково. А все занимался разработкой под веб знают, что это далеко не так. И дальше лучше все равно не будет — это реальный мир, и браузеры и стандарты разрабатывают люди. Будут появляться новые фичи, в них будут новые баги и разночтения стандартов, которые тоже будут меняться и расширятся. Будут люди с устаревшими браузерами (потому что новые браузеры будут требовать нового железа/ОС, или просто потому что лень/корпоративные правила не дают). Зачем игнорировать реальные факты?
юзер агент можно и через Javascript узнать.
Но это имхо полностью гемморойный путь. Потому что туда пишут что угодно у оперы там до сих пор написанно что она 9.80. У всех указанно “мозилла”…

Путь через условные комментарии — приводит уже сейчас к тому что многие писали код — if IE — само собой 9 подсовываются код для старых версий.
От использования Javascript для управления стилями или разметкой обычно ничего хорошего ждать не приходится: снижается скорость подгрузки и отрисовки страницы, я уже не говорю про читабельность такого кода. И проблемы тоже похожие с серверным решением — скрипты не везде разрешены для вставки в разметку, многие веб-приложения при сохранении вычищают все скрипты из HTML, чтобы защититься от XSS атак. А случаи когда разметка «разваливается» от того, что у пользователя отключены скрипты даже и думать не хочется.
Насчет того, что после выхода IE9 у MS возникли проблемы с условными комментариями написанными для старых IE: тут по большей части виноваты не условные комментарии, а сама MS, которая слишком долго не развивала свой браузер, и люди попросту вывели для себя формулу: «если это IE — значит это 6 или 7», и слишком долго это правило было верным. И потом в CC с самого начала поддерживаются логические выражения и есть возможность указать минимальную и максимальную версии. Если вводить новый стандарт — можно этот случай предусмотреть и указывать не только платформу браузера, а обязательно диапазон версий. А в постах евангелистов разъяснить нам, простым смертным, что указывать IE100+ в качестве верхнего диапазона плохо и «не валидно».
Уже даже в 8 ИЕ верстка не нуждалась в подпорках, если в ней не было фич CSS3.

9 и выше не нужны комментарии даже для сложной верстки.

Для скриптов же остался юзерагент
Можно привести множество случаев, когда они пригодились бы и в верстке для современных браузеров, например: хочется нам использовать HTML5 и новый тип поля date использовать (который сейчас только Chrome и Opera поддерживают) — применяя CC можно сделать так, что для поддерживающих его браузеров используется новый тип поля со встроенным календариком, а для остальных старый добрый text со скриптами рисующими выпадающий календарик «вручную», по старинке, скриптами. Для тех у кого более продвинутый браузер — оптимизация скорости загрузки, унификация и ускорение интерфейса, а для тех у кого не браузер не поддерживает поля типа date — полностью рабочий интерфейс, хоть и чуть тяжелее и тормознутей, в итоге получаем красивое решение с graceful degradation и современными фичами.
Не поддерживает IE9 WebGL? Не беда, подсовываем ему Flash11 или Silverlight ролик с 3D. И так далее. Это все можно конечно и скриптами сделать… но так всю страницу можно создавать только скриптами, видел я пару раз такой код — врагу не пожелаешь вылавливать в этой каше из кода для генерации разметки и презентационной логики нужный тебе тег вставляется. Считаю, что то что можно делать без использования скриптов, должно делаться без них.
Условные комментарии тоже в некотором смысле скрипты, поэтому получается всё равно с их использованием и вместе стандартного js что-то ещё.

а input type=«date» превращается в type=«text» в браузерах, которые его не поддерживают, и можно скриптами довесить. Хотя в хроме и сафари этот виджет абсолютно неюзабелен.
Реализовали бы они безверсионность и постоянный апдейт, мир бы стал добрее.
Ну СС останутся для предыдущих версий. Не помню, чтобы пользовался ими даже в версии 8.
А вообще — лучше бы сменили движок рендеринга, например, на Webkit :D
Sign up to leave a comment.

Articles