company_banner

7 шагов, чтобы подготовиться к IE10 и Windows 8

    ie10 metro

    Как вы, наверняка, уже знаете, 29 февраля вышла Windows 8 Consumer Preview, а вместе с ней и 5-я platform preview версия Internet Explorer 10. В этой статье я расскажу о том, как подготовиться к новой версии IE. И хотя повествование будет вестись преимущественно вокруг IE10, многие из этих советов применимы и к другим браузерам, в том числе на других платформах.

    1. Используете <!doctype html>


    Первое, самое-самое-самое первое, с чего надо начать, — это убедиться, что все страницы вы отдаете с правильным doctype. В мире html5 это одна небольшая и очень простая строчка:

    <!doctype html>

    Это должна быть самая первая строчка, которую вы напишите. Если шаблон вашей страницы генерируется автоматически инструментами разработки и там нет этой строчки, поправьте шаблон. Если ваша CMS отдает страницы без doctype, обновите используемые шаблоны.

    Повторю, это очень и очень простой шаг, однако, чрезвычайно важный. Правильный doctype говорит браузеру, как ему обрабатывать контент страницы. IE9 и IE10 при отсутствии doctype переключаются в quirks mode.

    В IE9 в режиме совместимости не работают многие новые возможности, включая canvas, audio, video и возможности CSS3. В IE10 в режиме совместимости используется механизм, описанный в спецификации HTML5: это тот же стандартный режим, но с наложенными исправлениями совместимости, описанными в спецификации, что также соответствует поведению других браузеров.

    (Напомню, что спецификация HTML5, помимо всего прочего, также содержит правила обработки страниц браузерами, в том числе, в режиме совместимости. Примеры: чувствительность к регистру, формы, изображения расположение контента.)

    См. также презентацию Вадима Макеева из Opera Software: Доктайп. Точка (видео).

    В каком режиме работает моя страница?


    Посмотреть, в каком режиме отображается ваш сайт, можно через DevTools (F12):
    document mode

    Режимы Standards и Quirks соответствуют спецификации HTML5.

    IE10 также поддерживает quirks mode из IE5 для сайтов без doctype, работающих в режиме совместимости (compatibility view), и сайтов, явно указавших необходимость такого режима через мета-теги с X-UA-Compatible:

    <meta http-equiv="X-UA-Compatible" content="IE=5">


    2. Решите проблемы совместимости


    Помимо неправильного doctype, могут быть и другие причины, почему конкретный сайт по умолчанию отображается не в стандартном режиме:
    • Сайт указан в списке совместимости, используемом IE. Российских сайтов на сегодня в этом списке около 7. Как правило, это популярные сайты, для которых разработчиками выставлен режим совместимости, либо пользователи часто делают это вручную для улучшения отображения. Процедура исключения из списка для владельцев ресурсов описана на MSDN.
    • Используется неправильный doctype.
    • Тот или иной режим прописан на странице через мета-тег X-UA-Compatible.

    И даже, если с doctype и режимом совместимости все в порядке, это не означает, что сайт будет полностью корректно работать в IE10. Например, сайт может использовать так называемый browser sniffing, определяя браузер по строке user agent или другим признакам и отдавая разным браузерам разный код.

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

    Таких причин может быть множество, и, чтобы определить возможные источники ошибок было проще, у нас есть специальный инструмент — инспектор совместимости (compat inspector).

    Инспектор совместимости


    Инспектор представляет собой библиотеку на JavaScript, которую можно легко добавить на свою страницу:

    <script src="http://ie.microsoft.com/testdrive/HTML5/CompatInspector/inspector.js"></script>


    После этого загружаемый скрипт анализует страницу на предмет возможных проблем и выдает по результатам сводку в виде вот такого счетчика:

    compat inspector on habr

    Нажав на счетчик, можно увидеть конкретные обнаруженные проблемы и рекомендации по их исправлению:

    compat inspector results on habr

    Например, в профиле пользователя на Хабре инспектор совместимости говорит, что, в соответствии со стандартом DOM Level 3 Core, метод createElement не поддерживает текстовые аргументы с угловыми скобками. Такая возможность использовалась в старых версиях MooTools, о чем также подсказывает инспектор и рекомендует обновиться до свежей версии. Простая проверка показывает, что на хабре действительно используется старая версия MooTools.

    Или вот, например, многие пользователи Windows 8 Consumer Preview жалуются, что Яндекс.Карты не работают в IE10. Инспектор подсказывает, что, вероятно, сайт использует проверку user agent и предлагает это проверить, отдав сайту другой user agent, прикинувшись тем самым другим браузером (это делается установкой одной галочки в checkbox Verify). После этого карты начинают работать.

    Надеюсь все такие проблемы в скором времени будут поправлены.

    Как «добавить» инспектор совместимости на чужой сайт?


    Если вы хотите попробовать инспектор совместимости на чужом сайте, как я это сделал для Хабра и Яндекса, либо на своем, не внося изменений в код самого сайта, это также возможно.

    Для этого вам нужно установить Fiddler и добавить в него сниппет (внести правки в правила обработки через Rules -> Customize Rules...). После этого Fiddler сможет вставлять код инспектора в тело страниц локально на вашем компьютере.

    Еще раз ссылки: инспектор совместимости и инструкция.

    3. Определяйте возможности, а не браузер


    Эта тема обсуждается много и тем не менее будет не лишним напомнить о ней еще раз. Чем более стандартным становится поведение браузеров, чем больше новых возможностей появляется и чем быстрее и автоматичнее обновляются браузеры, тем более важным становится, чтобы веб-разработчики, делая свои сайты и веб-приложения, опирались на возможности браузеров и их наличие, а не на конкретные браузеры и их версии.

    feature detection vs. browser detection

    Да:
    • Проверка возможностей. Проверяйте, поддерживает ли браузер нужные методы и свойства перед использованием.
    • Проверка поведения. Тестируйте, есть ли известные проблемы, прежде, чем применять обходные решения.

    Нет:
    • Проверка конкретных браузеров. Не используйте идентификаторы браузера (например, строку user agent) для подстройки поведения.
    • Неподкрепленные предположения. Если вы проверили какую-то одну возможность, это еще не означает, что будут работать другие.

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

    Использование modernizr — хорошая отправная точка.

    См. также статьи Same Markup: Writing Cross-Browser Code и Browser and Feature Detection.

    Условные комментарии


    Многие из вас, наверняка, знакомы с условными комментариями для IE, позволяющими вставлять тот или иной код для разных версий IE. Думаю, также многие сталкивались с ситуациями, когда условные комментарии были вставлены некорректно, в результате чего, например, сайт знал только о IE7 и 8, всем остальным версиям IE (включая новые) отдавая разметку для IE6.

    Знакомо? У меня для вас новость:
    <!--[if IE]> <br/>
    Такой контент игнорируется в IE10 и других браузерах.<br/>
    В старых версиях IE он отображается как часть страницы. <br/>
    <![endif]-->
    


    Все верно: IE10 игнорирует условные комментарии. Вы можете продолжать использовать их для предыдущих версиях IE, однако, для более современных браузеров следует использовать определение возможностей браузера (feature detection).

    4. Предусмотрите режим без плагинов


    Если для вас это новость, то добро пожаловать в суровую реальность. Важно, чтобы ваш сайт или ваше веб-приложение оставались функциональными и решали поставленные перед ними задачи даже при отключенных плагинах. Это касается Flash, Silverlight и любых других расширений (например, основанных на ActiveX).

    Если вы разрабатывали сайты для iOS-устройств, такая ситуация должна быть вам знакома. В Windows 8 IE10 представлен в двух режимах: для рабочего стола со всеми установленными пользователем расширениями и в metro-режиме с отключенными расширениями.

    ie10 metro youtube

    Из metro-режима пользователь может легко переключиться в десктопный режим, однако, бессмысленно выводить ему сообщения вроде «установите плагин Flash Player» — ему это не поможет.

    ie10 metro rutube

    Что рекоммендуется сделать:
    • Предусмотреть альтернативное решение для реализации функционала, требующего сегодня плагинов. Например, для проигрывания Audio/Video и графики можно использовать возможности HTML5; для рекламных баннеров предоставить альтернативу в виде изображения.
    • Пересмотреть работу сайта, если она сильно завязана на использование плагинов: двигаться в сторону современных веб-стандартов, либо переключиться на создание альтернативы в виде приложения в стиле Metro для Windows Store.
    • При необходимости использования расширений выдать корректное сообщение, предложив пользователю переключиться в десктопный режим.

    См. также статьи Browsing Without Plug-ins и Moving to Standards-based Web Graphics in IE10.

    5. Добавьте префиксы, где надо, и внимательно следите за стандартами


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

    Если вы хотите использовать новые возможности в IE10, не забудьте обновить свой код, добавив свойства и методы с нужными префиксами для всех основных движков (например, -ms- для css-свойств в IE) и безпрефиксный вариант на будущее для более-менее стабильных возможностей.

    Напомню, что очень много новых возможностей было добавлено уже в IE9, и еще больше из в IE10:

    ie10 features

    О том, как разрабатывать с использованием префиксов смотрите, например, статью A Best Practice for Programming with Vendor Prefixes и библиотеку --prefix-free от Lea Verou.

    6. Проектируйте под разные экраны


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

    Responsive design — это два заветных слова, по которым вам нужно искать, чтобы узнать, как добиться гибкости по отношению к разным разрешениями и размерам экрана.

    win8 cp

    Применительно к Windows 8, нужно быть готовым к двум основным моментами:
    1. Большому разнообразию устройств совершенно разного форм-фактора: от относительно небольших планшетов до больших экранов мониторов и панелей.
    2. Snapped-режиму работы приложений в стиле metro, включая IE10.


    Разнообразие экранов


    win8 screens
    Рекомендуемый минимальный размер экрана для Windows 8 — 1366x768, в этом случае будет работать функция Snap, о которой рассказывается ниже. Для приложений в стиле Metro минимальное требование — 1024x768. Сайт в IE10, раборающем в Metro-режиме, занимает весь экран целиком.

    Однако, учитывая, что десктопный браузер может работать и при меньших разрешениях (например, 800x600 или 1024x600), необходимость учета небольших разрешений по-прежнему остается.

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

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

    Responsive design. CSS3 Media Queries. Bing.

    См. также статьи Уголок CSS: Медиа-запросы CSS3 и Ответ на разные устройства с медиа-запросами CSS3.

    Snapping («парковка»)


    Эта история в техническом плане в чем-то похожа на задачу разработки общего решения для десктопных и мобильных сценариев. Функция Snap в Windows 8 позволяет закрепить сбоку (справа или слева) приложение в стиле Metro, чтобы оно было постоянно на экране:

    ie10 metro snapped

    В таком состоянии ширина простанства, отводимого под сайт, равняется 320px, что похоже на мобильные сценарии и также доступно для подстройки отображения с помощью CSS3 Media Queries.

    См. также статью Device adaptation.

    7. Проектируйте под пальцы, мышь и клавиатуру


    Наконец, не забывайте о том, как с вашим сайтом будет взаимодействовать пользователь (кстати, независимо от того, использует он десктопный или metro-режим Internet Explorer). Он может управлять мышкой и клавиатурой, а может и пальцами.

    touch input

    Последнее означает, что самое время задуматься, удобно ли работать с вашим сайтом или веб-приложением, используя естественный ввод?

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

    С технической точки зрения, рекомендую обратить внимание на эти две статьи: Touch Input for IE10 and Metro style Apps и Handling Multi-touch and Mouse Input in All Browsers.

    Резюме


    Повторю еще раз необходимые пунктики, чтобы быть во всеоружии в нужный момент:
    1. Используйте правильный doctype
    2. Проверьте режим рендеринга и возможные проблемы с помощью инспектора совместисти
    3. Переключитесь на подход «feature detection»
    4. Продумайте, что увидит пользователь при отсутствии плагинов
    5. Добавьте ms-префиксы для экспериментальных возможностей и безпрефиксные альтернативы на будущее
    6. Подготовьтесь к разным размерам экрана и режимам отображения
    7. Позвольте пользователю удобно работать пальцами с вашим сайтом или веб-приложением.
    Microsoft
    Microsoft — мировой лидер в области ПО и ИТ-услуг

    Similar posts

    Comments 107

      –66
      IE 10? вы шутите? Очередное чудотворение линейки недоцсс недобраузеров…
      /* от греха подальше */
      if ('\v'=='v') alert("У вас стремный браузер. Установите FF / оперу / хром.");
      
        +25
        Вы пробовали это запускать в IE10 или хотя бы в IE9? ;)
          –55
          я уже давно не пробовал запускать никакой IE, страшно даже иконку нажимать

          ок, можно еще так if(!-[1,]), смысл не меняется
            +44
            Вам надо чаще обновлять свои знания и перестать следовать стереотипам.
              +9
              Все же попробуйте, IE исправляется.
              +1
              Справедливости ради, в ie9 '\v'=='v' true и !-[1,] тоже true.
              И как не крути ie9 пока еще никак не тягаться с v8 и webkit. Однако ie9 это что-то более современное, с ним уже можено работать как с нормальным браузером и ожидать вполне нормального поведения.

              Но это только справедливости ради, на счет 10, ничего говорить не буду. Появится, обзательно поставим, посмотрим.
                +7
                Извините, а в каком режиме вы это проверяли? У меня в стандартном режиме IE9 и то, и другое выдает false.

                И в чем никак не тягаться?
                  –2
                  В скорости работы и оперативности внесения новых фитч из w3c.

                  На счет '\v'=='v' !-[1,] — сори моя вина не заметил что стоит режим совместимости, там же 2 параметра режим браузера и режим документов, если в одном ie9 на второй к сожалению можно не обратить внимание ((
                    +12
                    Ага, аппаратное ускорение графики, которое в IE9 вышедшем год назад по-прежнему уделывает всех остальных? :) И в чем интерес меряться скоростью внесения нестабильных фитч из w3c? Потом, это какой-то однобокий взгляд — есть возможности, которые раньше появляются в IE, взять тот же Grid Layout.
                      –8
                      Простите а ускорение какой графики, уточните?
                        –2
                        Вообще не понял к чему минусы, я лишь хотел заметить что webgl не поддерживает explorer для которого именно аппаратное ускорение и будтя являтся приятной фишкой
                          +3
                          Видимо имелось ввиду <video>, canvas и SVG.
                            –1
                            Я понял. но скажем глядя на тесты не вижупреимуществ у ie, если тока в каки-то очень синтетических вещах.
                            peacekeeper.futuremark.com — скажем вот один изх тестов
              +2
              Уверен, что тот же feature detection не менее актуален для хрома, осбенно когда используете неусоявшиеся части стандарта. В один прекрасный день у всех пользователей сайт перестает корректно работать. И виноват будет сайт, а не тихо обновившийся хром.
                0
                У хрома и определение user-agent актуален. Есть множество глюков совместного использования селекторов CSS3.
                0
                Ну например у меня шрифты в IE9 сглаживаются, а в Gecko и Webkit — ничего подобного. Мелочь, а приятно. Помню, ещё Ms хвастались, что у них лучше всего border-radius реализован…

                В общем, похоже, они стараются следить и за мелочами тоже — в отличие от остальных.
                  +1
                  Не люблю участвовать в холиварах, но к слову о шрифтах. Слева IE9, справа другой браузер)
                  Не знаю кому как, а мне приятней рендеринг, тот что справа.

                  IE успел заработать себе такую дурную славу за прошлые версии, что 9 и последующие уже на дух не переносятся некоторыми. Однако стоит отдать должное, он теперь стал конкурентоспособным.
                    0
                    Про шрифт — взаимно, правый лучше. Но в FF у меня, например, вообще сглаживания нету.
                +7
                Имхо советы от копитана очевидность. Все это уже давно на слуху, уже давно делается ( конечно делается теми, кто понимает необходимость, и самосовершенствуется идя в ногу со временем и желаниями клиентов).
                Практически со всем эти уже давно столкнулись обюди которые разрабатывают сайты не только под 3 браузера а под планшеты, мобильные, настольные пк сразу.
                Да и скажем так не только к ie10 относится это все.
                  +1
                  Все верно, и
                  И хотя повествование будет вестись преимущественно вокруг IE10, многие из этих советов применимы и к другим браузерам, в том числе на других платформах.


                  Однако практика (включая статьи на хабре) показывает, что все они более чем актуальны ;)
                    +1
                    На хабре уже по моему много, много, много, много раз говорилось все это и обсуждалось.
                      +3
                      И тем не менее )) Даже по самому банальному первому пункту — из раза в раз встречаются грандиозные примеры на html5/css3/… чудесным образом сверстанные без какого-либо doctype.
                  –7
                  Ад. Список совметимости. Отличный костыль.
                  А у других браузеров есть что-то подобное? Может, я не в курсе.
                    +6
                    Вы сначала статью прочитайте, о чем там говорится, а потом уже каменты пишите, а то умников развелось…
                      0
                      В опере есть, см.: www.opera.com/docs/browserjs/
                        0
                        В Опере это суровая необходимость, потому что никто не оптимизирует сайты под браузер, который «никто не использует» (Гугл, привет! шоб ты уикался).

                        Для ИЕ такое видеть странно.
                    • UFO just landed and posted this here
                        +4
                        IE9 и 10 проблем не вызывает, к чему там готовиться?
                        По-прежнему любят мозги старые ie без border-radius, shadow, неправильном поведении display: inline-block/table-cell/table и прочее.

                        Единственное, что можно черпнуть от статьи — это вспомнить, что кроме растущего рынка планшета, вместе с Win 8 ещё начинается искусственное навязывание сенсорного управления и на десктоп, поэтому не стоит мельчить и ставить близко управляющие элементы в дизайне UI.
                          0
                          я с телефона предпочитаю пользоваться полными версиями сайтов: они привычнее и, зачастую, более функциональные. Но иногда часть функционала недоступна, ибо показыается по наведению мыши. Не думаю, что я один с этим сталкиваюсь.
                          • UFO just landed and posted this here
                              0
                              Не пишите таких коментариев больше, они вредны для прочтения, особенно новичам, ок?
                              1) Вам как разработчику может нравится любая мысль, но иметь дело надо с реальностью. Тем: «как было бы хорошо если бы все везде одинакого работало» высказывается сотни раз, но у нас есть конкретные браузеры и конкретные задачи, хватит причитать, начните лучше с себя, пишите грамотный код, пишите его по стандартам и вы обнаружите, что куча проблем ушла, что верстка почти кроссбразерная изначально и хаки то по большей части не нужны.

                              2) И да, я таки использую border-radius и shadow. Отобразил это браузер — хорошо, не отоброзил, ну и хрен с ним.
                              Не правильные слова в корне! Никогда в разработке нельзя говорить «хрен с ним», надо понимать почему прято такое решение. Уже написано много статей про принципы graceful degradation и что и где и как лучше отбражат ьв стархы браузерах. А не просто так хрен с ним и все.

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

                              4) Тут, не так давно, мне вообще пришлось использовать табличную вёрстку потому, что, блять, видите ли не сумел один из знаменитой пятёрки браузеров правильно отобразить три дива в ещё одном контейнере.
                              В таблицах нет ничего страшного если они используются для табличного контента. И вы не рассматриваете возможность того что у вас знаний не хватило?
                              • UFO just landed and posted this here
                                • UFO just landed and posted this here
                                  • UFO just landed and posted this here
                                    0
                                    Пример в студию. пока сам не увижу о чем речь на своло не поверю.
                                  • UFO just landed and posted this here
                                0
                                Все это классно и, уверен, IE10 будет весьма адекватным браузером. Вот только нам (веб разработчикам) еще долго придется учитывать наличие «тяжкого наследия» Microsoft в виде IE7, IE8 (хоть IE6 фактически ушел — и то радует), так что до IE10 в качестве mainstream еще не скоро дело дойдет, а жаль.
                                  0
                                  В Китае его еще очень много, увы =(
                                    0
                                    мы вроде как особо для китая ничего и не делаем, или у вас > 50% работодателей из китая?
                                    +1
                                    Прикол в том, что разработчики сами продлевают себе проблемы. Чем раньше начнется массовый отказ разработчиков делать сайты с костылями лишь бы одинаково выглядело в старых IE, тем быстрее народ обновится. А иначе просто нет стимула у юзеров.
                                    +1
                                    Эх… Условные комментарии это конечно нестандартная фича, но именно благодаря им можно было писать чистый css-код, без грязных хаков. Ведь как бы браузеры не старались приближаться к стандартам, различия всё-таки есть. И не факт, что через 10 лет ie10 будет поддерживать какое-нибудь новое свойство, реализованное в ff 25, chrome 20, opera 15. Жаль в стандартах css не вводят какой-нибудь такой альтернативы:
                                    @media ((browser: ie) and (min-version: 9))
                                    {
                                        display: table;
                                    }
                                    
                                      0
                                      точнее
                                      @media ((browser: ie) and (min-version: 9))
                                      {
                                          .sample-block { display: table; }
                                      }
                                      
                                        0
                                        Можно использовать тот же Modernizr или любой другой скрипт для определения необходимых уловий с последующим заданием CSS class у <html> а потом задавать нужные CSS хаки в контексте выставленного class'а.
                                        • UFO just landed and posted this here
                                            +2
                                            Ну если бы это была единственная несправедливость этого мира… :)

                                            Вообще Chrome по-моему опыту довольно стабилен в плане соответствия результатов ожиданиям, хотя да, иногда выдает закидоны. Стабильнее всех FF за что его и люблю (ну и за Firebug конечно же :) )
                                            • UFO just landed and posted this here
                                          +1
                                          $(function(){
                                          if($.browser.msie)
                                          $('html').addClass('js_' + parseInt($.browser.version, 10));
                                          })

                                          css:
                                          .js_9 body{contents:'error'}

                                          что то типо этого, не?
                                            0
                                            $.browser is deprecated, а так — да, что-то типа этого.
                                              0
                                              Не ну это понятно да, с помощью JS вообще можно почти всё что угодно сделать… Но согласитесь это костыль над чистым html+css. Я уж молчу про параноиков, которые с помощью NoScript отрубают JS на всех сайтах, кроме белого списка.
                                              Что мешает организовать это посредством CSS Media Query?
                                              Это существенно облегчило бы жизнь разработчику в случае непредвиденных косяков (у меня такие бывали в девятой опере, к примеру). Такая мелочь, и реализовать в браузерах практически ничего не стоит.
                                                0
                                                Причём сейчас на чистом CSS делается практически всё (солнечная система, часы, iPhone, ...), даже там где это не надо. А здесь эта функция прям напрашивается в стандарт…
                                                  0
                                                  Мне кажется, это идеалогически неправильно, и еще более развяжет руки разрабам браузеров не париться по поводу стандарта, и увеличит соблазн ленивых верстальщиков делать «как проще», а не «как надо».
                                                • UFO just landed and posted this here
                                                  +1
                                                  Смешно, но я что похожее для Chrome юзал, когда он единственный из всех браузеров, вставлял только ему понятные лишние отступы в ячейках таблиц. Правда, в 17-й версии уже пофиксили. Но не ожидал такого от хрома.
                                              –1
                                              Тысяча чертей! Опять «подготавливаться» к очередной версии осла. Да когда же это закончится?!
                                                +5
                                                Вы IE 10 видели?
                                                –4
                                                Интересно когда MS сделают нормальный разделительный слеш в путях…
                                                И чем аргументируется использование обратного слеша?

                                                Вопрос риторический.
                                                  +7
                                                  Если действительно интересует историческая причина:
                                                  Прямой слеш / использовался в DOS 1.0 для обозначения опций — ради совместимости с CP/M. Во время разработки DOS, совместимость с CP/M была важнейшей задачей.
                                                  Таким образом, когда в DOS 2.0 добавили поддержку директорий, прямой слеш уже был занят.

                                                  Во время разработки Windows, уже совместимость с DOS была важнейшей задачей, и оба слеша сохранили своё привычное пользователям назначение.

                                                  Подробности: blogs.msdn.com/b/larryosterman/archive/2005/06/24/432386.aspx
                                                    0
                                                    Спасибо за ответ — конечно слеш — дело вкуса, просо использование обратного слеша иногда доставляет проблем.
                                                    0
                                                    Интереса ради ввел команду «cd c:/Windows». Отлично сработало :) И в DOS тоже работало, так что претензия не по адресу :)
                                                      +5
                                                      Форточки испокон веку на всех вменяемых уровнях поддерживают слеши во все стороны: как хочешь — так пиши. О чём вообще речь?
                                                      –1
                                                      Вот все подобные статьи начинаются с "<!doctype html>". А если я использую XHTML5, то нужно ли мне указывать «doctype»? Как поведет себя IE10?

                                                      Сам не могу проверить, ибо нет IE10.
                                                        0
                                                        Вообщето HTML5 требует как раз "<!doctype html>", вы в спецификацию заглядывали?
                                                        IE10 все отлично понимает.
                                                          0
                                                          А мой кот требует, чтобы его периодически кормили. Постойте, но при чем здесь мой кот? А HTML5? Я вроде бы писал «XHTML5» и вопросы задал вполне конкретные…
                                                            0
                                                            Простите не заметил сразу. Хотя сути это не меняет, ответ верен и для XHTML5
                                                              0
                                                              Ну вот собственно где об это прочесть-то можно? Собственно я нашел вот это — www.whatwg.org/specs/web-apps/current-work/multipage/the-xhtml-syntax.html#writing-xhtml-documents. Здесь говорить, что как может «doctype» может быть указан, а может и не быть. Как поведет себя IE10, если сего не указать. И, да, именно в XHTML5 с «application/xhtml+xml», а не псевдо XHTML5 с «text/html».
                                                                –1
                                                                XHTML это по сути синтаксис документа XML совместимый.
                                                                Что бы ваш документ рендерился в соответствии стандартам HTML5 надо указать доктайп.
                                                                • UFO just landed and posted this here
                                                                    0
                                                                    В общем никто себе Windows 8 Consumer Preview не ставил и ни у кого IE10 нет :). Значит будем после выхода на Win7 тестировать, держит IE10 XHTML5 без "<!doctype html>", аль нет.
                                                                      0
                                                                      У меня стоит Windows 8 Consumer Preview. Могу сказать что с доктайпом точно работает нормально.
                                                                      А вот без доктайпа я не проверял.
                                                                      • UFO just landed and posted this here
                                                                          0
                                                                          Ни на чем не основано. Мне просто было интересно, но кто же мог знать, что из простого вопроса получится дискуссия :).
                                                                  • UFO just landed and posted this here
                                                                      0
                                                                      Спецификация говорит, что
                                                                      XML documents may contain a DOCTYPE if desired, but this is not required to conform to this specification.


                                                                      См. также blogs.msdn.com/b/ie/archive/2010/11/01/xhtml-in-ie9.aspx
                                                                        0
                                                                        В комментарии, на который вы отвечали, вроде тоже самое и написано, даже ссылка дана :). Вопрос в том, как себя реально IE10 поведет ;).
                                                                          0
                                                                          Он открывает документ в стандартном режиме.
                                                              • UFO just landed and posted this here
                                                                –7
                                                                Так вот оно что, если все компании выпускающие браузеры(Mozilla, Google, Apple), выпускают новые версии и заплатки браузеров, то Microsoft выпускает операционную систему для браузера…
                                                                  +7
                                                                  Лучше бы для win7 его сделали. Это дало бы возможность подготовиться намного лучше чем 25 таких статей.
                                                                    +1
                                                                    IE10 будет как в Win8, так и в Win7. Вот если бы он был уже сейчас в виде Platform Preview на Win7…
                                                                    +1
                                                                    Давно верстаю в <!doctype html> чего и всем желаю. Хаков для ie8 — 2: display:block на <header> и <footer> и подключение html5.js
                                                                      +1
                                                                      Не решился писать в чью-то ветку, но все же выскажу свое мнение по этому поводу.
                                                                      Для меня кроссбраузерность (в том виде, в каком ее делают другие люди) делится на 2 больших составляющих:
                                                                      1. Проверка чтобы страница не расползалась по сторонам и сохраняла свою структуру.
                                                                      2. Бессмысленная (имхо) имитация новых свойств в древних браувзерах (например, попытки добиться какого-нибудь box-shadow в IE6-7 и пр).

                                                                      Если на первое я еще обращаю внимание, то второе я откровенно игнорирую. Просто считаю что пользователь должен видеть сайт в меру возможностей своего браузера: у кого браузер лучше — у того и сайт красивее. Если пользователь не хочет потратить минуту чтобы установить себе современный браузер — то зачем мне тратить время на попытки сделать ему красивое отображение? Я просто проверяю все интересные свойства на сайте w3, если все ок — использую их, и плевать кто их поддерживает а кто нет.

                                                                      И еще пример на более бытовом уровне. Все помнят картинку про велосипеды, у одного из которых квадратные колеса? Так вот, если я куплю велосипед с квадратными колесами, то никто не станет мне делать дорогу в виде полукругов, скажут «купи нормальный велосипед и не… люби мозги строителям».
                                                                        +1
                                                                        Только ваш подход не работает в бизнесе, и скажем крупная сеть магазинов одежды захочет красочный сайт, чтобы люди на нем получали эстетическое удовольствие и им такой подход не подойдет как и в ряде других случаев. нельзя говорить я делаю так и пофигу, делать надо как требует заказчик иначе с вами работать не будут.
                                                                        Другое дело, что надо ставить заказчкиа в известность о том что делать такое стоит дороже. Что некоторые красиовости можно урезать и прочее.
                                                                          0
                                                                          От того что у какой-то кнопочки не будет тени, или градиента, никто не умрет. А у всяких сайтов одежды зачастую такие дебильные сайты, что там ногу сломаешь, а не найдешь нужного. Вот для примера сайт Calvin Klein, хочу к примеру глянуть какие они выпускают модели труханов.
                                                                          www.calvinkleininc.com/underwear/men.aspx

                                                                          И что я имею, флэшку которая крутит пяток картинок каких-то фриков, где посмотреть сами модели, расцветку, материалы и т.п.?
                                                                            0
                                                                            Бесспорно, в этом подходе есть нюансы. Я думаю что можно условно разделить дизайны сайтов на те которые стремятся произвести «вау-эффект» и все остальные, которые просто стремятся быть удобными для пользователей.
                                                                            Как правильно заметил zapimir, если на сайте с дизайнов второго типа где-то у пользователя не будет тени или скругления краев — то пользователь не умрет, но это его проблема что он не видит того или иного эффекта. Пользователь с хорошим браузером будет «награжден» более красивой картинкой за то что потратил минуту на установку браузера. Я считаю это честным.

                                                                            На счет заказчиков — конечно же Вы правы. Если заказчик требует «только так и не иначе» то я сделаю хоть под IE3, но цена верстки возрастет очень прилично. Нужно просто показать заказчику статистику с какого-нибудь liveinternet и прайс на верстку — пусть дальше сам решает стоят ли его пользователи IE6 с тенью/закруглением/градиентом за разницу в сумме или нет. Обычно я когда делаю предложение по верстке, я указываю что в понятие «кроссбраузерность» я включаю поддержку браузеров Opera + Firefox + Chrome последнего поколения (например сейчас для Opera это версии 11.*), а дальше ужет идет обсуждение с заказчиком.
                                                                          0
                                                                          IE10 игнорирует условные комментарии. Вы можете продолжать использовать их для предыдущих версиях IE, однако, для более современных браузеров следует использовать определение возможностей браузера (feature detection).

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

                                                                          Рекомендуемый минимальный размер экрана для Windows 8 — 1366x768

                                                                          Блджад. Пойду выброшу свои мониторы 1280x1024.
                                                                            0
                                                                            Это всего лишь рекомендация и минимальное требование для работы функции Snap. Для работы приложений в стиле metro требуется минимум 1024x768.
                                                                              +1
                                                                              Большинство нетбуков значит останутся за бортом.
                                                                                0
                                                                                А Metro UI вроде как и не на для нетбуков.
                                                                            –4
                                                                            Как подготовиться? Да пошли они в жопу к этому готовиться.
                                                                            Когда поставил CP, было такое чувство что мне в компьютер насрали.
                                                                              0
                                                                              Дык будет как всегда: «95% сайтов не совместимы с новым Internet Explorer 10!!!1» =)
                                                                              0
                                                                              А ещё pinned sites.
                                                                                0
                                                                                [перфекционизм] Лучше <!DOCTYPE html> (с ключевым словом DOCTYPE в верхнем регистре) — более единообразно с XHTML-нотацией.
                                                                                • UFO just landed and posted this here
                                                                                    0
                                                                                    Насколько мне известно, это нужно лишь для старых генераторов, не знающих об HTML5. Да и речь не о совместимости со старьём, а о единообразии. ;-)
                                                                                    • UFO just landed and posted this here
                                                                                        0
                                                                                        Надо различать перфекционизм, приводящий к «геморрою» (типа CDATA или about:legacy-compat), и перфекционизм, в плане трудозатрат и читабельности кода совершенно «бесплатный».
                                                                                        • UFO just landed and posted this here
                                                                                            0
                                                                                            Вы серьёзно набираете доктайп для каждого нового документа снова и вручную? ;-)
                                                                                            • UFO just landed and posted this here
                                                                                          0
                                                                                          Кстати, при XHTML-доктайпе W3-валидация по умолчанию проходит именно в режиме XHTML, в результате чего многие возможности HTML5 представляются валидатором как синтаксические ошибки.
                                                                                          • UFO just landed and posted this here
                                                                                              0
                                                                                              Я специально подчеркнул, что речь об официальном W3-валидаторе. О существовании альтернативного валидатора знают не все (немногие?).
                                                                                              • UFO just landed and posted this here
                                                                                    0
                                                                                    Не работают кондишнл комментс, но работает meta http-equiv=«X-UA-Compatible» content=«IE=9»
                                                                                    Если ваш сайт корректно работает в IE9, лучший способ подготовиться к IE10 добавить такую мету и спать спокойно. )))
                                                                                      0
                                                                                      Забавно, что сайты самих майкрософт работают со старыми доктайпами и метами, отправляющими ИЕ в режим 8-ки или 9-ки (разные сайты по-разному).
                                                                                        0
                                                                                        Естественно, потому что люди поддерживающие сайты МС и люди разрабатывающие IE10 это разные люди и первые имели всех вторых ввиду на предмет тестирования с IE10 и не стали с этим заморачиваться.
                                                                                        0
                                                                                        как не крути а IE врятли уже вернет себе прежние позиции, он как Firefox в каждой версии пишут что «мы исправили все найденные недостатки», а «наглая рыжая морда» по прежнему жрет неимоверное количество памяти

                                                                                        Only users with full accounts can post comments. Log in, please.