IE8: наиболее полное описание нововведений для программиста (и не только)

    Ниже представлен оригинал моей статьи принятой для публикации в отличный компьютерный журнал C`t, который, к сожалению, не выжил на рынке и пока пребывает в весьма подвешенном статусе. Статья не была опубликована из-за того, что выпуски больше не выходят. Поэтому я решил опубликовать ее на Хабре, благо она отлично попадает в формат.

    Хотел бы сразу отметить, что статья достаточно объемная и часть информации уже была опубликована мной на Хабре. Цель данной статьи объединить максимальное количество информации про новую версию Internet Explorer и представить ее в приемлемом объеме.

    В комментах принимаю замечания и исправления.

    Введение


    Браузер Internet Explorer имеет длинную историю, начавшуюся в 1995 году, когда в августе этого года компания Микрософт выпустила его, лицензировав у Spyglass, Inc. С тех пор прошло уже более 10 лет и Internet Explorer успел покорить мир, завоевав абсолютное большинство пользователей, а версия его вот-вот сменится на номер 8.

    Несмотря на широкое распространение, Internet Explorer пользуется дурной славой у разработчиков web-проектов. Виной тому множество факторов, основными из которых, на мой взгляд, являются вялое внедрение стандартов консорциума W3C и очень медленный переход на новые версии среди пользователей. Из-за того, что огромное количество пользователей все еще использует устаревшие браузеры, web-разработчикам приходится поддерживать и их, внедряя в свои коды всяческие трюки и так называемые хаки, чтобы один и тот же сайт выглядел одинаково как в браузерах Firefox, Safari и Opera, так и во всех распространенных версиях Internet Explorer.

    Однако, с выпуском восьмой версии браузера, Микрософт, похоже, предпринимает попытки сгладить отношение разработчиков к своему детищу, предлагая им долгожданную поддержку стандартов, не оставляя в тоже время поддержку предыдущего кода, написанного под старые версии.
    Эта статья призвана показать, что же нового появится в Internet Explorer 8 для разработчиков, что изменится и как использовать некоторые новые и полезные вещи которые предлагает нам этот браузер.

    История браузера Internet Explorer для программиста


    Выйдя в 1995 году первая версия IE не получила широкого распространения, как впрочем и версия вторая, которая включала в себя поддержку кроме SSL, cookies, такие вещи как VRML и RSA. Третьей версии, которая вышла в 1996 году, удалось добиться большего. Она получила поддержку CSS, ActiveX, фреймов и Java-аплетов. В четвертой версии появились DHTML и PNG. Пятая версия принесла поддержку XML/XSLT, улучшенную поддержку CSS версии 1 и 2, favicon, HTML Application. Особенно полезным окажется введение XMLHttpRequest, который гораздо позднее даст старт повсеместно используемой технологии AJAX. Шестая версия оказалась менее щедрой на нововведения: улучшена поддержка DHTML, частичная поддержка CSS level 1, DOM level 1 и SMIL 2.0. Вместе с тем, шестая версия, похоже, стала самой уязвимой в плане безопасности версией браузера. В седьмой версии Internet Explorer добавилась поддержка IDN, незначительно была улучшена поддержка CSS, DOM и HTML, улучшилась поддержка компрессии страниц через Gzip и deflate. Однако одним из главных исправлений стала долгожданная поддержка прозрачности для PNG-файлов.

    Восьмая версия


    Первая публичная бета-версия Internet Explorer 8 появилась в марте 2008 года. Сообщалось, что новая версия получит переписанный с нуля движок рендеринга, что команда разработчиков нацелена на поддержку стандартов, таких как CSS 2.1, CSS 3 и HTML 5, что будут исправлены множество ошибок предыдущих версий. И ожидания сбылись, новая версия содержала в себе многочисленные изменения в HTML и CSS, такие как введение тега abbr, поддержка автоматически генерируемого контента CSS, правила CSS display: table, paged media, DOM Storage, XDM, API селектров и многое другое. Кроме того, появилась поддержка Data: URI и XDomainRequest для кросс-доменного обмена, добавились новые функции в DOM, заявлена поддержка спецификации ARIA.
    После знакомства с новой версией и ее нововведениями, складывается мнение, что компания Микрософт, наконец-то обратила свое внимание на web-разработчиков и взялась основательно переделать свой браузер к лучшему.

    Механика восьмой версии. Прикидываемся седьмой версией


    Новая версия рендеринга Internet Explorer может работать в трех режимах:
    • Quirks и Strict – работают как и в IE7, в зависимости от DOCTYPE включается quirks-режим;
    • Standards – основной режим IE 8, в котором максимально широко реализованы стандарты.
    Команда разработчиков предусмотрела принудительную поддержку того или иного режима для ваших старых или новых страниц, которые нацелены на отображение в предыдущих версиях браузера и должны нормально отображаться в 8 версии.
    Для того чтобы задать необходимый вам режим нужно добавить на страницу meta-тэг следующего содержимого:
    <meta http-equiv="X-UA-Compatible" content="IE=8" />

    Здесь, content – обозначает режим, в котором будет отображаться страница. Основные значения content следущие:
    • «IE=7» — включает режим Strict в котором рендерятся все страницы;
    • «IE=EmulateIE7» — включает режим совместимости с IE7, в котором в зависимости от DOCTYPE будет применяться либо стандартный для IE7 режим рендеринга (Strict), либо quirks-режим (Quirks);
    • «IE=EmulateIE8» — страница форсируется в режим «IE8 Standards» вне зависимости от того, включен ли режим совместимости «Compatibility View» в браузере пользователя, а quirks-страницы отображаются в Quirks-режиме.
    • «IE=8» — включается режим максимального соответствия стандартам «IE8 Standards».
    Кроме того, значения content не ограничиваются перечисленными режимами. Так можно указать значения для любых других браузеров:
    <meta http-equiv="X-UA-Compatible" content="FF=3" />

    Вдобавок к этому, у параметра content существует значение «edge», которое позволяет указывать на поддержку максимально старшей версии браузера:
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />

    Кроме указания тега «meta» есть еще один способ управлять режимом браузера – это передача http-заголовка:

    X-UA-Compatible: IE=EmulateIE7

    Механизмы обеспечения безопасности


    Защита памяти средствами DEP/NX


    Функция «Включить защиту памяти для снижения риска атаки из интернета» доступна и в седьмой версии браузера, но она не включена по умолчанию. Правда, на 64-битных платформах этой функции нет, но только потому, что все процессы в 64-битных версиях Windows защищены через DEP. Теперь же, данная функция будет включена по умолчанию. Напомню, что DEP/NX позволяет предотвратить выполнение кода, который помечен как данные. Таким образом, отсекается целый пласт атак, таких как переполнение буфера.

    Улучшения в ActiveX


    В восьмой версии Internet Explorer элементы ActiveX могут быть установлены только для определенного пользователя (Per-User ActiveX), что снижает риск заражения, при учете того, что пользователь не работает под правами администратора. В этом случае под ударом находится только профиль одного пользователя и ничего больше.
    Per-Site ActiveX — новая техника, которая позволяет задать элементу ActiveX возможность исполнения только на одном единственном (вашем собственном) сайте и нигде больше. Пользователь также может разрешить использование, скажем Silverlight, только на том сервере, где он первый раз понадобился. Как и все остальное, управление механизмом установки ActiveX будет доступно для администраторов через групповые политики.

    XSS-фильтр


    Самое интересное, на мой взгляд, нововведение — это встроенный XSS-фильтр, который позволяет защитить пользователя от «Cross-Site Scripting»-атак. Чтобы хотя бы приблизительно оценить величину угрозы от XSS-атак можно перейти по адресу XSSed.com, и посмотреть какие, не самые мелкие публичные ресурсы, подвержены этим атакам. Любой пользователь потенциально может оказаться жертвой, просто перейдя на эти ресурсы, и сейчас число таких обнаруженных «дырявых» сайтов перевалило уже за 20 тысяч.

    XSS-фильтр Internet Explorer 8 направлен против xss-атак т.н. типа Type1. Согласно информации с Wikipedia атаки такого типа самые распространенные.

    Для тех сайтов, которые по какой-то причине не хотят позволить пользователю включить защиту против XSS на их ресурсах доступна опция в заголовках HTTP:

    X-XSS-Protection: 0

    Она может понадобиться тем, кто в своих проектах использовал техники схожие с XSS-атаками.

    Другие изменения безопасности


    • добавлена новая функция toStaticHTML, которая позволит избежать внедрения опасного кода на страницы путем форматирования html-тегов, эта функция делает тоже, что и функции библиотеки Microsoft Anti-Cross Site Scripting Library;
    • Internet Explorer 8 реализует функции ECMAScript 3.1 для работы с JSON. Для обеспечения безопасности, объект для работы с JSON содержит функцию parse, которая, так же как и toStaticHTML, надежно форматирует потенциально-опасный текст;
    • в новой версии Internet Explorer браузер содержит улучшения в т.н. механизме MIME-sniffing. Этот функционал позволяет определять браузеру содержимое страницы не по «content-type», а по содержанию. Нередко такое определение позволяло внедрить опасный код. Теперь, например, при «content-type: image/*» не будет рендерится вложенный html- или скрипт-код. Для управления фильтром разработчик может воспользоваться новым параметром authoritative и указать «Content-Type: text/plain; authoritative=true;» и в таком случае IE8 не будет пытаться определить тип содержимого, выведя его согласно указанию в «Content-Type»;
    • новые параметры для HTTP-заголовков X-Download-Options: noopen и Content-Disposition: attachment; filename=untrustedfile.html позволяют заставить браузер сохранить содержимое вместо его отображения. Это может понадобиться в тех случаях, когда web-приложению требуется передать пользователю страницу с небезопасным содержимым. В случае сохранения его на клиенте и последующем открытии такие страницы не будут работать в контексте сервера, что оставит его в безопасности;
    • в контроле File Upload теперь в целях безопасности изменили статус поля ввода на read-only. В дополнение к этому, с той же целью, IE8 теперь не будет отправлять полный путь файла, вместо этого отправляться будет только его имя.

    Изменения касающиеся CSS


    CCS-выражения


    Одним из принципиальных решений команды разработчиков Internet Explorer в плане поддержки CSS является отказ от так называемых CCS-выражений (CSS expressions). Эти выражения позволяли интегрировать в CSS-код JavaScript-выражения для манипулирования содержимым css параметров. CSS-выражения в восьмой версии Internet Explorer будет отключены по умолчанию. В числе причин названы безопасность и высокая затратность в плане производительности. Однако поддержка CSS-выражений сохранится в режимах совместимости Strict и Quirks, для поддержки уже написанного кода.

    Изменение в именовании свойств


    Микрософт изменила порядок именования некоторых свойств CSS. Теперь все «нестандартные свойства» получают префикс "-ms-". Для того, чтобы полностью соответствовать CSS 2.1 в IE 8 такой префикс получили свойства подходящие под следующие условия:
    • если свойство — это расширение Микрософт (не определено в спецификации или модуле CSS);
    • если свойство — часть CSS-спецификации или модуля, которая не получила статус Candidate Recommendation от W3C;
    • если свойство только частично реализовывает свойство, определенное в спецификации CSS.

    Вот список свойств, которые получили приставку "-ms-" (с указанием причины):
    Property Type W3C Status
    -ms-accelerator Extension  
    -ms-background-position-x CSS3 Working Draft
    -ms-background-position-y CSS3 Working Draft
    -ms-behavior Extension  
    -ms-block-progression CSS3 Editor's Draft
    -ms-filter Extension  
    -ms-ime-mode Extension  
    -ms-layout-grid CSS3 Editor's Draft
    -ms-layout-grid-char CSS3 Editor's Draft
    -ms-layout-grid-line CSS3 Editor's Draft
    -ms-layout-grid-mode CSS3 Editor's Draft
    -ms-layout-grid-type CSS3 Editor's Draft
    -ms-line-break CSS3 Working Draft
    -ms-line-grid-mode CSS3 Editor's Draft
    -ms-interpolation-mode Extension  
    -ms-overflow-x CSS3 Working Draft
    -ms-overflow-y CSS3 Working Draft
    -ms-scrollbar-3dlight-color Extension  
    -ms-scrollbar-arrow-color Extension  
    -ms-scrollbar-base-color Extension  
    -ms-scrollbar-darkshadow-color Extension  
    -ms-scrollbar-face-color Extension  
    -ms-scrollbar-highlight-color Extension  
    -ms-scrollbar-shadow-color Extension  
    -ms-scrollbar-track-color Extension  
    -ms-text-align-last CSS3 Working Draft
    -ms-text-autospace CSS3 Working Draft
    -ms-text-justify CSS3 Working Draft
    -ms-text-kashida-space CSS3 Working Draft
    -ms-text-overflow CSS3 Working Draft
    -ms-text-underline-position Extension  
    -ms-word-break CSS3 Working Draft
    -ms-word-wrap CSS3 Working Draft
    -ms-writing-mode CSS3 Editor's Draft
    -ms-zoom Extension  


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

    Свойство filter


    Изменения коснулись такого свойства, как filter. Ранее, к сожалению, синтаксис filter не соответствовал CSS 2.1. Например, в указанном коде запятые считались недопустимыми.
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80, FinishOpacity=70, Style=2);

    В новой версии браузера синтаксис filter приведен к соответствию требованиям спецификации CSS:
    -ms-filter: «progid:DXImageTransform.Microsoft.Alpha(Opacity=80, FinishOpacity=70, Style=2)»;

    нетрудно заметить, что в новом синтаксисе значение свойства взято в кавычки.

    Поддержка CSS 2.1


    Для более полной реализации CSS 2.1 добавлена поддержка следующих псевдо-классов:
    • :active (вместо частичной поддержки, будет полная)
    • :focus
    • :lang©
    • @page :first
    • @page :left
    • @page :right

    Последние три не доступны в beta2, но будут добавлены в финальную версию. Кроме того добавлена поддержка следующих псевдо-элементов:
    • :before
    • :after

    Следующие элементы будут поддерживаться в полном объеме вместо частичной поддержки либо добавятся:
    • list-style-type
    • background-position
    • font-weight
    • white-space
    • word-spacing
    • content
    • counter-increment
    • counter-reset
    • quotes
    • border-collapse
    • border-spacing
    • border-style
    • caption-side
    • empty-cells
    • bottom
    • display
    • left
    • right
    • top
    • z-index
    • orphans
    • page-break-inside
    • widows
    • outline
    • outline-color
    • outline-style
    • outline-width
    • box-sizing (элемент CSS 3)

    Функции CSS


    Помимо существующей поддержки функции url(), в восьмой версии будет добавлена поддержка еще двух функций counter() и attr().

    JavaScript и AJAX в IE8


    В помощь программистам команда разработчиков Internet Explorer внесла значительные изменения и нововведения в механизм JavaScript.

    XDomainRequest (XDR)


    XDR – это новый объект похожий на XMLHttpRequest, но который предназначен для обмена информацией через домены. Синтаксис XDR соответствует черновику W3C «Access Control for Cross-Site Requests».

    Cross-document Messaging (XDM)


    XDM – это еще одна технология, которая позволяет обмениваться текстовыми сообщениями фреймам с разных доменов, которые размещены на одной странице. Такой обмен происходит через HTML5-метод postMessage:
    var testframe = document.getElementsByTagName('iframe')[0];
    testframe.contentWindow.postMessage('Привет!');

    Для того, чтобы получить такое сообщение документ во фрейме должен зарегистрировать обработчик сообщения «onmessage»:
    document.attachEvent('onmessage',function(e) {

    });


    DOM Storage


    DOM Storage – это механизм, который позволяет хранить на стороне клиента данные не прибегая при этом к механизму cookie. В отличие от cookie, DOM storage лишены целого ряда ограничений: размер сохраняемых данных значительно увеличен, данные DOM storage не отсылаются на сервер при каждом запросе, кроме того можно управлять тем, как сохраненная в DOM storage информация будет видна в других окнах.
    В Internet Explorer реализовано три объекта по работе с DOM storage:
    • window.sessionStorage – предназначен для хранения данных на время существования вкладки браузера, данные доступны с разных страниц пока действует контекст вкладки. Данные не восстанавливаются если произошла исключительная ситуация или браузер был закрыт;
    • window.localStorage – предназначен для долговременного хранения данных (около 10 Мб) для каждого домена и субдомена, причем домены и субдомены могут получать данные друг друга, но при этом субдомены не могут получать данные другого субдомена;
    • объект Storage – реализует логику для работы как sessionStorage, так и localStorage, содержит необходимые методы, свойства и события.

    Ниже приведен небольшой пример того как можно работать с DOM storage:
    localStorage.setItem("name","Владимир");

    var name = localStorage.getItem("name");

    XMLHttpRequest


    XMLHttpRequest получил новое свойство timeout, позволяеющее задавать количество миллисекунд, которое хост будет ждать ответа, после истечения которых произойдет событие ontimeout:
    var xhr = new XMLHttpRequest();
    xhr.timeout = 10000;
    xhr.ontimeout = onTimeout;

    function onTimeout ()
    {
      alert("timeout!");
    }

    Новые функции


    В JavaScript Internet Explorer 8 также были добавлены несколько функций:
    • ToStaticHTML – форматирует исходную строку так, что заменяет строки с тегами на безопасные строки для предотвращения XSS-атак;
    • toJSON, JSON.parse, JSON.stringify – служат для работы со строкой содержащей json-данные, приводят объект. Синтаксис функции базируется на ECMAScript 3.1.


    Инструмент Developer Tools. Profiler JavaScript.


    В восьмой версии Internet Explorer к радости программистов добавлен инструмент, который способен побороться с широко распространенным дополнением Firebug для браузера Firefox. Этот инструмент называется просто Developer Tools и представляет собой следующую панель:

    Панель содержит следующие инструменты и функции:
    • инспекция html-кода страниц;
    • просмотр и редактирование применяемых стилей;
    • выделение элемента по наведению курсора мыши;
    • встроенный мощный отладчик JavaScript-кода;
    • блокировка скриптов, css, всплывающих окон;
    • вывод на отображаемую страницу информации о Id и классе элементов, ссылках;
    • подсветку элементов по типу, по позиционированию и по другим параметрам;
    • управление изображениями на странице, просмотр информации;
    • встроенную динамическую линейку;
    • встроенный color picker;
    • ссылки на валидацию.

    Кроме того, эта панель содержит замечательный функционал – профайлер JavaScript кода:

    Этот инструмент позволяет легко отследить узкие места в вашем JavaScript-коде и тем самым повысить производительность сайта и скорость загрузки страниц.

    Заключение


    В этой статье я попытался рассмотреть новые возможности Internet Explorer, которые он предоставляет программисту. Как оказалось, новая версия браузера несет в себе массу изменений, улучшений, исправлений и добавлений для разработчиков web-проектов. На момент написания статьи последней версией Internet Explorer 8 оставалась beta2, но уже по ней заметно, что компания Микрософт уделила своему браузеру самое пристальное внимание и значительно усовершенствовала его. Для разработчиков важно быть в курсе тенденций в web. Разработка новой версии популярного браузера – это одна из таких тенденций. Надеюсь, что приведенный материал помог разработчикам пополнить свои знания и быть в курсе некоторых новых возможностей, которые предложит финальная версия Internet Explorer 8.
    Поделиться публикацией
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 132
    • +7
      Ой, порадовал статьёй, спасибо 8-)
      Наконец-то полное описание, без рюшечек, и поросячьего визга 8-)
      • –52
        В IE8 есть встроеный даунлодер? (в смысле нормальный загрузчик)
        Кликом правой кнопки можно заблокировать банеры?
        Можно ли использовать свой шаблон стилей для какой нить странички?
        если нет, то о каких нововведениях идет речь? Закрывание дырок открытых в ранних версиях?
        • +11
          от куда вы все беретесь…
          • –21
            из интернета
            • НЛО прилетело и опубликовало эту надпись здесь
            • +1
              trollim.ru ---->
              • +3
                Читай название статьи. Там есть фраза «для программиста». Все, приведенные тобой недостатки никоим образом не мешают программисту.
                • –14
                  IE8 браузер для програмистов?
                  • 0
                    ну вообшем-то да :) я, к примеру, отношусь к нему не как к браузеру, а как к набору интерфейсов и разных библиотек:
                    msdn.microsoft.com/en-us/library/aa155133.aspx
                    msdn.microsoft.com/en-us/library/aa741322(VS.85).aspx

                    ну знаете, быстро там отрендрить в моем приложении кусочек html-кода, сделать визуальный WYSIWYG редактор, интерфейс раньше было удобно на нем клепать, никто даже заподозрить не мог, что это html и т.д.
                    • –2
                      «Клепать» и «лабать» — самые точные определения к такому подходу
                    • 0
                      И, кстати, поскольку IE очень уж дружелюбен для программистов, все те вещи о которых вы написали выше, легко делаются в течении одного рабочего дня. И менеджер закачки свой можно встроить, и стили подменять, и банеры резать. Система «плагинов» развита как нигде в другом месте.
                      • +1
                        сейчас вас запинают любители firefox, поскольку для ff аддонов (не плагинов) на несколько порядков больше, как ни крути, а ведь они делают именно то что и плагины в ie
                        • 0
                          Ну, это естественное явление (я про количество аддонов) :) просто «уровень вхождения» в разработку под IE существенно выше, чем в разработку аддонов под FF, но в целом, IE предоставляет больше возможностей, как ни крути.
                        • –3
                          если это все делается в течении одного рабочего дня, то почему у юзверей до сих пор нет нормального браузера, и им приходится открывать IE только лишь для того что бы скачать оперу или файрфокс?
                          • +2
                            Как нет, а как же древнейший Maxthon, к примеру? ) И менеджер закачек удобный, и рекламу вырезает, и задолго до IE7 научился показывать окна в вкладках, и скины имеет, и даже как Google Chrome не умирает, если у вас зависает одна из страничек.

                            и не нужно говорить не правду, якобы никто не пользуется IE.
                            • +3
                              Я не зверь и пользуюсь IE
                              • +2
                                IE — Это браузер, почитайте определение браузера в педивикии хотя бы. То что вы описываете называется комбайном.
                                • –7
                                  то что я описал назвается Opera или FF
                                  а то что делает MS назвается заглушка.

                                  так как коментировать могу не чаще чем раз в 5 минут. то на пост lifestar отвечаю тутже
                                  — попробуйте Оперу или ФФ, Вам понравится. через минут 10 у вас начнется отвыкание от IE а еще через 10 вы окончательно забудете IE.

                                  int80h — ну почему же вот например lifestar пользуется. но тренды говорят что скоро Вас станет меньше.
                                  • +4
                                    Вы ставили FF? Где там из коробки даунлоад менеджер, блокировшик баннеров и возможность подцепить свой CSS?
                                    • 0
                                      как почему — вы так написали :)

                                      и кого это «Вас»? я вообще пользователь мака и Safari :)
                                  • 0
                                    www.w3schools.com/browsers/browsers_stats.asp
                                    По приведенной ссылке можно убедиться что боьшинство посетителей сайта W3C — пользователи MSIE. И можно предположить что этот сайт посещают исключительно web-разработчики.
                                    • 0
                                      ага, а большинство посетителей хабра пользователи ФФ
                                      • 0
                                        Ну да конечно. Здесь для многих карма Хабра важнее, валидатора w3c
                            • +1
                              А где он есть (нормальный загрузчик)? В смысле в каком браузере? Ну, как минимум, чтобы позволял ограничивать скорость закачки
                              • +1
                                Для Лисы был какой-то даунлоадер, правда сам не щупал. Но сомневаюсь, что там можно квотировать полосу пропускания или выставлять какие-то приоритеты.
                                • 0
                                  Я щупал, во второй у меня стоял, потом все равно на внешний через flashgot перешел Приоритеты для очереди можно было ставить, если ничего не путаю :)
                              • +1
                                Есть такой замечательный плагин под IE, IE7 pro, который существенно расширяет функционал IE, в свое время поставил его из-за наличия в нем жестов мышью как в Опере, но помимо всего прочего имеет менеджер закачек, поддерживает UserJS аля GreaseMonkey и еще умеет кучу всего, к тому же работает и в IE8.
                                • 0
                                  * режет баннеры
                                  • 0
                                    Да класная штука, сейчас попробовал и в совокупности с ie8 все что надо есть.
                                  • 0
                                    грузил и как знал, что без троллей не обойдется…
                                  • +3
                                    Скорей бы IE6 умер, скорей бы… :)
                                    В 8-й версии напрягает слишком долгий вывод html-кода страницы, ну и дебаггер на «тяжёлых» страницах тормозит тоже не по-детски
                                    • 0
                                      щупали IE8 под win7? ощутимые изменения, особенно в developer tool
                                      • +4
                                        Я лучше девушек пощупаю, а в случае IE8, подожду выхода финальной версии
                                      • –2
                                        Да пускай живет, но только полную поддержку заголовка «X-UA-Compatible: IE=IE8» пускай сделают :)
                                        • –2
                                          Да хоть IE=IE10. Только толку от этого никакого.
                                      • 0
                                        meta http-equiv=«X-UA-Compatible» content=«FF=3»
                                        После прочтения остался вопрос относительно этого. Проясните пожалуйста, поддерживает ли Фаерфокс этот метатег.
                                        • +3
                                          нет конечно :) но тег допускает такую реализацию со стороны Mozilla, если она того захочет
                                          думаю, глупо было бы делать тег без возможности поддержки его другими браузерами
                                          • 0
                                            А зачем FF его поддерживать? Имхо этот костыль нужен только самим MS
                                            • +1
                                              согласен, потребность есть только у ie
                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                • 0
                                                  Продолжите, пожалуйста, вашу мысль, я не до конца уловил смысл. Тот факт, что для FF есть специфичные свойства, не требует объявления поддерживаемой версии браузера. Прочие браузеры будут эти свойства игнорировать, а Лиса интерпретирует их должным образом. Для чего метатег?
                                                  • 0
                                                    Хтябы для того чтобы определить какой в будущем -moz-border-radius или border-radius, допустим с выходом стандартов там будет другое поведение.
                                                    • 0
                                                      Вот и пришли к тому за что ругали в своё время MS
                                                    • НЛО прилетело и опубликовало эту надпись здесь
                                                      • 0
                                                        О  CSS3 я ниже высказывался, нет в этом нужды
                                                        • НЛО прилетело и опубликовало эту надпись здесь
                                                          • 0
                                                            Я верю, что к наспуплению времён будничного использования CSS3 мы увидим четвёртую, а то и пятую версию FF. Вторая версия будет вопиющим анахронизмом.
                                                            • НЛО прилетело и опубликовало эту надпись здесь
                                                              • 0
                                                                Седьмой останется :) А шестой и сейчас анахронизм. Пусть и не вопиюший
                                                                • НЛО прилетело и опубликовало эту надпись здесь
                                              • 0
                                                Хм… а как это должно выглядеть, если и тот и другой браузер «поддерживаются» кодом? Через запятую, два заголовка подряд или как? Сам IE в какой комбинации ожидает IE= и FF=?
                                                • 0
                                                  допускается такой синтаксис
                                                  />
                                                  • +1
                                                    * meta http-equiv=«X-UA-Compatible» content=«IE=8;FF=3;OtherUA=4»
                                                  • +1
                                                    Мне показалось, что FF=3 означает, что ИЕ будет вести себя как фаерфокс 3 и код, написанный под фф, будет работать под ИЕ. Я рано обрадовался?(
                                                    • 0
                                                      рано :)
                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                        • 0
                                                          если не учитывать множественные визуальные CSS3-свойства которые уже есть в FF, но пока не светят в IE
                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                            • 0
                                                              opacity — это CSS3-свойство, наверное, из-за этого до сих пор не включена полная поддержка
                                                  • 0
                                                    кстати, думаю, такой метатег может найти и другие применения для разработчиков
                                                    этим тегом они могут помечать целевую платформу и клиентские расширения (те же плагины для FF) смогут как-то особенно реагировать на него

                                                    к примеру
                                                    • +1
                                                      Если плагин уже запущен, ему по идее до фени, что за метатеги в коде прописаны :)

                                                      В отношении Лисы, как мне кажется, нет необходимости указывать в метатегах совместимые версии. Даже когда широко распространится CSS3 и первая версия FF уже не будет адекватно отображать страницы — проблемы как таковой не будет. Пользователи этого браузера привыкли к своевременным обновлениям и устаревшая версия скорее всего использоваться уже не будет.
                                                      • 0
                                                        да, согласен, пользователи FF (в больше части) по умолчанию получают метатег
                                                        />

                                                        :)
                                                        • 0
                                                          * meta http-equiv=«X-UA-Compatible» content=«FF=edge»
                                                  • 0
                                                    Кстати, а как IE сейчас реагирует на <?xml version=«1.0» encoding=«utf-8»>? Или это уже давно пофиксили?
                                                    • НЛО прилетело и опубликовало эту надпись здесь
                                                    • –3
                                                      Да, в этой версии костылей гораздо больше…
                                                      • +4
                                                        Правильно писать cookies, а не coockies.
                                                        • +2
                                                          Алсо, статья отличная. Спасибо за публикацию.
                                                          • +1
                                                            Блин, и где я у вас эту опечатку увидел? Прошу прощения, видимо ложная тревога :)
                                                            • +2
                                                              это я только что поправил, спасибо
                                                          • +1
                                                            Developer Tools есть и для осла 7(Developer Toolbar) хотя его и приходится скачивать отдельно с сайта мелкософта, а ещё там нет дебагера и профайлера.
                                                            • –1
                                                              > старые значения, хотя и будут считаться устаревшими,
                                                              > будут поддерживаться в восьмой версии ради совместимости.
                                                              > При разработке же нового кода для IE 8 следует использовать только новые именования.

                                                              Когда МС поймут, что код пишется не под новую версию ИЕ, а для веба. Вместо того, чтобы нормально расширить возможности своего браузера, они дают нам вбыор, делать под старый ИЕ с глюками или под новый без глюков, но зато старые браузеры такое врятли откроют. Почемуто когда выходит новая версия Оперы или ФФ, максимум что приходится делать — подправить верстку под новые глюки, если такие имеются. А с выходом каждой версии ИЕ меньше чем на полную ревизию кода надеяться не выходит.
                                                              • +2
                                                                8 версия старается приближаться к стандартам, все нестандартное убрано под -ms. Это в том числе сделано для того, чтобы в 9 версии было уже легче и безпроблемнее. Вы же за стандарты? Если 8 будет соблюдать стандарты то вы запишите это в плюс или минус?

                                                                и кстати, мне кажется, 8 версия в чем-то первая версия
                                                                • +1
                                                                  Сдаётся мне, что с 9-й будет ещё интереснее ;-)
                                                                  • +2
                                                                    Да я мозгом то понимаю что это шаг в правильном напрвлении, что потом в будующих версиях, когда ИЕ6 и ИЕ7 уйдук как страшный сон мы все спасибо скажем, просто пока они не ушли это мягко говоря не очень удобный компромисс.
                                                                    • 0
                                                                      Будем надеяться на то что w7 быстро распространить ie8 в массы :)
                                                                      • 0
                                                                        IE7 — милый пушной зверёк, по сравнению с дырами, багами, и прочим мозгоутомлением в IE6.
                                                                      • 0
                                                                        Направление, в котором движется компания именно в этих продуктах (IE8 И Windows7) очень нравится. Действительно есть ощущение «новой волны».
                                                                      • 0
                                                                        >А с выходом каждой версии ИЕ меньше чем на полную ревизию кода надеяться не выходит.

                                                                        Вот вам как раз и дают возможность не делать срочную полную ревизию кода, скажем до того времени, пока доля IE 6 не станет пренебрежимо мала. Добавили один хидер или метатег и все, забыли про то, что есть IE8 с новым рендерингом. Потом не спеша подправили код, если необходимо (а может и для лисы вариант будет нормально отображаться), заменили хидер и всё.
                                                                      • 0
                                                                        Извините но сразу в глаза попало. «премлемом» У меня плохо с правописанием но кажется написано то неверно.

                                                                        За материал спасибо. Сохранил, позже ознакомлюсь ;)
                                                                        • 0
                                                                          Очень качественная статья. Спасибо.
                                                                          • 0
                                                                            Качественная но первые 5 абзацев смело можно было не писать.
                                                                            • 0
                                                                              это статья предназначалась для журнала, для Хабра, пожалуй, я бы их не написал :)
                                                                              • 0
                                                                                Думаю, что они написаны потому, что статья изначально готовилось то не для Хабра, а для более широкого круга читателей, менее искушенного. Ссори, не прочитал авторский коммент ниже.
                                                                            • 0
                                                                              осталась одна маленькая проблемка, какже заставить всех кто сидит на ie6 обновиться хотябы до 7…
                                                                              • 0
                                                                                для этого MS тоже прилагает усилия, например, обновление до 8 версии будет критическим по всем каналам: Windows Update, Microsoft Update, Automatic Update. Если обновление не отключать, то ie8 придет к вам сам. Достучаться до тех, у кого нет привычки обновляться лично мне кажется затруднительным.
                                                                                • 0
                                                                                  какая привычка??) большая часть этих людей до сих пор сидит на XP SP1 и их компьютерщик отключил им обновление потому что винда там ломанная… сам видел… те у кого виндоус лицензионный тем не будет трудо обновиться, а как же тот самый большой процент с пираткой?? ( я имею ввиду тех кто не будет искать серийники и тд и тп)
                                                                                  • 0
                                                                                    мы же не будем обсуждать «ломаные» винды? :)
                                                                                    кроме того, нормальный администратор самостоятельно может сделать автоматическое обновление до ie8, это обновление не требует подтверждение активации
                                                                                    • 0
                                                                                      Пусть MS напишет вирус, ломающий старые версии винды со старыми браузерами и включающий им обновление, или хотя бы качающий ie8 :)

                                                                                      Я даже не буду возмущаться по поводу того, что «MS всякую заразу пишет» :)
                                                                                      • 0
                                                                                        Сижу на ломаной XP, прекрасно обновляется.
                                                                                    • +1
                                                                                      Всё делается гораздо проще. Просто большинству серьёзных сайтов нужно перестать поддерживать IE6. Реакция будет довольно предсказуемой — если не работает большинство сайтов в браузере, значит нужно либо качать новую версию, либо ставить другой. А то, что кто-то боится потерять пользователей — так это посредственные сайты, видимо.

                                                                                      Вот что делать с корпоративными браузерами, под которых написана куча ActiveX и по этой причине их не обновляют на предприятиях, не знаю. Скорее всего тем пользователям нужно будет работать, а не на сайтах сидеть :) Но массово, думаю, обновляться начнут только тогда, когда перестанет что-то работать.
                                                                                      • 0
                                                                                        Действительно, «гораздо проще» :))))
                                                                                        • 0
                                                                                          вы предлагаете яндексу, майлу и корпорации зла поставить запрет на ie6? :-) честно мне такой кошмар снился, как я стаю перед директорами яндекса и объясняю им что надо закрыть доступ для ie6 :-)
                                                                                          • 0
                                                                                            сейчас всё больше используют js на новых проектах, и даже использование фреймфорков не спасает ситуация для ие6, если скриптов просто много, во всяком случае спад пошёл, это не может не радовать.
                                                                                            • 0
                                                                                              Когда у геймера не идёт новая «классная игрушка» он идёт апгрейтиться. Я не предлагаю разработчикам убеждать начальство в том, что нужно взять и запретить… Это бесполезно. Но один из выходов — это перестать поддерживать. Тогда старым браузером не будет смысла пользоваться.
                                                                                              Почему никто не использует IE 3-4? :) Наверное потому, что он безнадёжно устарел и не отображает ни один сайт нормально. Люди просто не видят смысла менять то, что и так нормально работает.
                                                                                              • 0
                                                                                                3-4 версией IE не пользуются потому, что ОС, с которыми они поставлялись уже не используются
                                                                                                а XP продается до сих пор (с IE6) и многие хотят чтобы он продолжал продаваться
                                                                                                • 0
                                                                                                  Ну, это понятно.

                                                                                                  А у меня не установилась бета IE8 :( Обидно. Даже не пощупать…
                                                                                                  • 0
                                                                                                    Насколько я понимаю, легально сейчас продаётся только XP SP3, а она с IE7.
                                                                                                    • 0
                                                                                                      может быть это касается коробочных копий
                                                                                                      к примеру всего 4 месяца назад я купил в магазине новый нетбук MSI Wind на котором стоял XP SP2 c IE6
                                                                                                      хотя, готов поверить что мне просто не повезло :)
                                                                                                • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                • +2
                                                                                                  я с вами согласен, ie6 нужно перестать поддерживать
                                                                                                  я уже предлагал создать инициативу stopIE6
                                                                                                • 0
                                                                                                  Причем первым из серьезных сайтов должен быть microsoft.com сотоварищи :) Активно пользуюсь шестеркой по назначению (как браузером, а не как инструментом разработки) только на них
                                                                                              • 0
                                                                                                Буквально вчера бурно обсуждали этот вопрос. Вывод один, Microsoft не хочет переводить пользователей старой винды, ранних версий, но новые браузеры, без перехода на новые версии Windows.
                                                                                                • 0
                                                                                                  глупости, обновление на 8 версию будет критическим для всех поддерживаемых версий Windows: XP, 2003,2008,Vista
                                                                                                  • +1
                                                                                                    В принципе да, но к сожалению есть люди которые «кладут» на апгрейд. Но это уже их проблемы. И думаю, что в большинстве своем, люди которые не апгрейдятся используют пиратские версии винды.
                                                                                                • 0
                                                                                                  А зачем нужно кого-то заставлять? Для вашего (нашего, веб-разработчиков) удобства?

                                                                                                  Знаю людей, которые органично не воспринимают ни IE7, ни конкурентов, нравится им (читай привыкли за много лет) IE6 и менять (читай отказываться от старых привычек и обзаводится новыми) не хотят. Я и сам предпочитаю на XP IE7 не ставить — там где нужен «браузер от MS» пользуюсь шестеркой, привычна, поведение ожидаемо и т. п., а IE 7 только для проверки функционирования своих разработок в нем — дефолтный интерфейс не нравится, а разбираться как его настроить (и можно ли) или «а-ля IE6», или «а-ля FF3» (то есть чтоб интерфейс был привычным для меня) желания нет. Как, кстати, и в настройках интерфейса Оперы нет желания разбираться, может и можно из него сделать почти полный аналог «моей сборки» FF3, но зачем, если запускаю IE6, IE7 и Opera 9.x (а также Safari а теперь еще и Chome) перед деплойментом, проверяю рендеринг, правлю шаблоны при необходимости и всё. Серверную логику предпочитаю тестить и отлаживать в FF3
                                                                                                • 0
                                                                                                  Спасибо за статью! XaocCPS, а поддержки Canvas у него по прежнему нет? Я слышал только про эмуляцию через Silverlight. Очень хотелось бы попробовать Canvas, но отсутствие поддержки в (пока) доминирующем браузере останавливает.
                                                                                                  • 0
                                                                                                    нету, это элемент html5, который слабо поддерживается в ie8
                                                                                                    • 0
                                                                                                      Хмм… «Сообщалось, что новая версия получит переписанный с нуля движок рендеринга, что команда разработчиков нацелена на поддержку стандартов, таких как CSS 2.1, CSS 3 и HTML 5… И ожидания сбылись...»
                                                                                                      То есть не совсем :) Обидно.
                                                                                                      • 0
                                                                                                        кончено не совсем, html5 еще не готов, чтобы можно было вообще оценить это «все»
                                                                                                        но к примеру dom storage будет включен (это часть html5)
                                                                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                  • 0
                                                                                                    Давно ждал Firebug для IE.
                                                                                                    Но, с первого взгляда на скриншоты видно, что накосячили.

                                                                                                    Например, посмотрите на HTML закладку Developer Tools. В правой панели наследуемые стили CSS, причём, как видно из скриншота, в порядке наследования DOM — сначала тэг body, далее div, видимо, где-то в хвосте искомый select.
                                                                                                    Порядок следования просто необходимо изменить на обратный. Иначе придётся скроллить каждый раз.

                                                                                                    Из таких мелочей складывается впечатление о продукте. Чтобы им (Developer Tools) удобно было пользоваться, необходимо позаботиться о деталях.
                                                                                                    К слову, девелоперская консоль в Google Chrome тоже крайне неудобна во многих отношениях.

                                                                                                    Firebug до сих пор остаётся незаменимым инструментом в web-разработке, для тех кто занимается этим серьёзно.
                                                                                                    • 0
                                                                                                      это скриншот beta2
                                                                                                      я погляжу дома в win7 может быть там порядок изменен, если что — отпишу
                                                                                                    • 0
                                                                                                      и до сих пор нет полноценной поддержки xhtml с правильным миме?
                                                                                                      • 0
                                                                                                        хех терь осталось придумать как заставить пользователей ие, обновится до 8 версии после ее выхода :)
                                                                                                        иначе буим еще года 3 — 4 поддерживать ие6 и лет 5 — 7 ие7 :/

                                                                                                        за полноценный обзор спасибо
                                                                                                      • 0
                                                                                                        Отлично! Надо будет запомнить всё это, когда начнём программить под него!
                                                                                                        • 0
                                                                                                          в избранное ;-)
                                                                                                        • 0
                                                                                                          Вообще IE стал намного лучше, перестал падать, вываливаться, зависать (нужное подчеркнуть), а стал очень стабильно работать. Уже месяца с лишним работаю в нем и очень доволен. Особенно нововведениями.
                                                                                                          • 0
                                                                                                            Во-первых, автору большое спасибо за статью, как раз хотела почитать именно такой подробный и грамотный обзор.
                                                                                                            Во-вторых, хочется надеяться, что ИЕ8 оправдает ожидания. Все-таки у этого браузера репутация так подмочена, что разработчикам нужно очень сильно постараться, чтобы реабилитировать ее в глазах пользователей.
                                                                                                            • 0
                                                                                                              главное не ждать слишком многого
                                                                                                            • 0
                                                                                                              а что известно насчёт такой особенности как <![if IE 8]>?
                                                                                                              она работает в 8ке?
                                                                                                            • 0
                                                                                                              Очень интересно, будет ли поддержка userscripts? Они кажется уже поддерживаются всеми браузерами, было бы круто, если бы оно было и в IE.

                                                                                                              И планируется ли какой-то резак рекламы?
                                                                                                            • 0
                                                                                                              А где информация по микроформатом и webslice?
                                                                                                              • 0
                                                                                                                они там в плане векторной графики по-прежнему не предлагают ничего лучше чем использовать VML в режиме совместимости с семеркой?
                                                                                                                • НЛО прилетело и опубликовало эту надпись здесь

                                                                                                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.