Обозреватель Интернет

16/10/2011

Правильный способ тестирования в разных IE

Filed under: Uncategorized — TheBits @ 22:21

Самый простой и удобный способ кроссбраузерного тестирования макетов это переключение между режимами рендеринга в самом IE. Включать нужный механизм рендера можно во встроенных “Инструментах разработчика”, вызывается по нажатию клавиши F12. При этом используется встроенная система обратной совместимости которая переключает браузер в не зависимости от установленного на странице doctype и X-UA-Compatible. Недостаток этого способа в том что режимы обратной совместимости, которую тянут за собой все версии IE, не совсем показывают то что будет показывать нативная установка. То есть будет некоторое приближение, а не реальная ситуация.

Более продвинутый способ - это воспользоваться Expresion Web SuperPreview. Программа специально создана для тестирования в различных браузерах. Кроме поддержки нескольких версий IE макеты можно просматривать в Firefox и Safari. Pixel perfect фанаты могут сравнивать рендер страницы с картинкой.

Самый правильный способ, рекомендуемый также и Microsoft, запуск IE на виртуальной машине. Специально для этого Microsoft подготавливает специальные VirtualPC образы с предустановленными версиями IE – Internet Explorer Application Compatibility VPC Image. Плюсов много, выделю два главных: тестирование на нативно установленном IE, полный контроль над виртуальной машиной (возможность простого отката системы). Сам пользуюсь этими виртуальными образами, работают они нормально на моём Celeron 1200 и 2ГБ ОЗУ.

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

IE9 совместимость: использование правильных названий кодировок

Filed under: IE9,Перевод — TheBits @ 19:23

Перевод статьи IE9 Compatibility: Proper Use of the Charset Token.

Недавно, во время тестирования сайтов с IE9, мы нашли хорошую онлайн игру которая не загружалась должным образом в браузере Internet Explorer. В отладчике скриптов, из состава “Инструментов разработчика” (F12), сразу выпадала ошибка скрипта (“c00ce56e”) во время загрузки страницы.

Быстрый поиск номера этой ошибки выводил на статью в Базе знаний Microsoft объясняющую, что этот код ошибки появляется когда сервер указывает не поддерживаемую кодировку в своём ответе. В статье уточнено что “ISO8859_1” не может указывать на поддерживаемую кодировку “ISO-8859-1”.

Глядя на трафик загруки игры в Fiddler, проблема становится очевидной:

Используемая кодировка называется utf-8 и кодировка utf8 (без знакак тире) не является синонимом для этой кодировки. Таким образом, когда страница пытается загрузить JSON-контент, возникает ошибка сценария, так как указанная кодировка не поддерживается.

Я быстро написал маленький FiddlerScript для проверки моей теории:

static function OnPeekAtResponseHeaders(oSession: Session) { 
    
    // Fix up malformed Character Set        
    if (oSession.oResponse.headers.ExistsAndContains("Content-Type", "utf8")) 
    { 
        oSession.oResponse.headers["Content-Type"] = 
            oSession.oResponse.headers["Content-Type"].Replace("utf8", "utf-8"); 
        oSession["ui-backcolor"] = "green"; 
        
    }

Этот скрипт заменяет любые вхождения utf8 на правильное utf-8. Я очистил кеш моего браузера и перезагрузил игру и теперь она заработала правильно!

Спецификация HTTP ответов с использованием Content-Type HTTP-заголовка хорошая практика для увеличения производительности и безопасности. В общем говоря – UTF-8 отличный выбор. Однако очень важно указывать корректное значение кодировки используя корректные названия. Попытка указать неправильное значение может привести к проблемам совместимости, интерперабельности и безопасности.

- Эрик

30/06/2011

Ограничения таблиц стилей в IE

Filed under: IE10,Перевод — Tags: — TheBits @ 10:16

Перевод статьи Stylesheet Limits in Internet Explorer.

В статье KB 262161 показано максимальное число таблиц стилей и правил поддерживаемых в Internet Explorer c 6-й по 9-ю версию.

  • Таблица может содержать 4095 правил
  • В таблице могут быть только до 31 правил @import
  • @import может сдержать только 4 уровня вложений

Многие интересуются математикой которая лежит в основе этих числе. Корнем ограничений является то что Internet Explorer использует 32-битное целое для определения, сортировки и каскада правил. Это 32-разрядное целое разделено на 5 частей: четыре sheetID по 5 бит каждый и одна часть 12-бит для ruleID. 5-разрядов sheetID в результате ограничивают @import до 31, 12-битное ruleID в результате ограничивает 4096-ю правилами на одну таблицу. Эти ограничения вписываются большинство сайтов, но для некоторых (обычно тех которые используют фреймворки и контролы) могут срабатывать ограничения, что требует временных решений.

Это простая тестовая страница показывающая ограничения.

- Эрик

Обновлено: IE 10 Platform Preview №2 значительно повысил ограничения описанные в выше. В IE10 (режиме браузера и документа):

  • Таблица может содержать до 65534 правил
  • Документ может содержать до 4096 таблиц
  • @import может иметь глубину до 4095 уровней (с ограничением в 4095 таблиц)

26/03/2011

Параметры командной строки в Windows Internet Explorer

Filed under: IE9,MSDN,Перевод — TheBits @ 18:24

Перевод статьи “Internet Explorer Command-Line Options“ от января 2011.

Windows Internet Explorer поддерживает различные опции командной строки для настройки браузера и диагностики неисправностей.

Следующее описание показывает все возможные опции командной строки в Internet Explorer.

iexplore.exe [ [ -embedding ]
               [ -extoff ]
               [ -framemerging ]
               [ -k ]
               [ -noframemerging ]
               [ -nohangrecovery ]
               [ -private ] ]
             [ URL ]

В таблице описаны опциикомандной строки поддерживаемые в Internet Explorer.

Опция командной строки Описание
-embedding Запускает Internet Explorer через связывание OLE (такое как WebBrowser Control)
-extof Для версий Internet Explorer 7 и выше. Запускает Internet Explorer в режиме без дополнений, который можно использовать при диагностике проблем у дополнений. Для большей информации смотрите Troubleshooting Internet Explorer Add-ons.
-framemerging Для версий Internet Explorer 8 и выше. Позволяет Internet Explorer эффективно объединять новые процессы фреймов с уже существующими процессами  фреймов окон. Для большей информации смотрите IE8 и надежность
-k Запускает Internet Explorer в режиме киоска. Браузер открывается во весь экран и не показывает адресную строку, кнопки навигации и панель статуса.
-noframemerging Для версий Internet Explorer 8 и выше. Запрещает Internet Explorer объединять процессы новых фреймов с уже существующими при благоприятной возможности.
-nohangrecovery Для Internet Explorer 9. Запрещается Internet Explorer перезапускать таб, когда он перестаёт отвечать. Эта опция позволяет разработчикам приложений использовать средства отладки для исследования проблем с  Browser Helper Objects (BHOs), Microsoft ActiveX контролами и другими асширениями браузера.
-private Для версий Internet Explorer 8 и выше. Запускает Internet Explorer с активным режимом  InPrivate. Больше информации смотрите Неприкосновенность
частной жизни в интернете, слежение и фильтрация конфиденциальной информации
в IE8
URL Направляет браузер на страницу или ресурс указанные в URL, после открытия браузера.

Заменённые, запрещённые и устаревшие опции

Некоторые опции командной строки поддерживаемые старыми версиями Internet Explorer, не поддерживаются новыми  версиями браузера по следующим причинам:

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

Следующая таблица показывает опции больше не поддерживаемые браузером.

Опция командной строки Состояние
-channelband Устаревшая после Internet Explorer 7.
-e Устаревшая после Internet Explorer 7.
-eval Устаревшая после Internet Explorer 7.
-nomerge Доступна в пре-релизе Internet Explorer 8. Эта опция заменена на -noframemerging которая описана в предыдущей таблице.
-new Устаревшая после Internet Explorer 7.
-nowait Устаревшая после Internet Explorer 7.
-remote Устаревшая после Internet Explorer 8.
-v Устаревшая после Internet Explorer 8.
-version Устаревшая после Internet Explorer 8.

22/03/2011

Твиттер

Filed under: news,Uncategorized — TheBits @ 23:18

У сайта есть твиттер канал @winieru, где мелкие новости появляются чаще.

Закачка файлов и названия файлов

Filed under: IE9 RC,Перевод — TheBits @ 23:13

Перевод статьи File Download and Filenames

Несколько месяцев назад я сообщал что ie поддерживает интернациональные названия файлов при загрузке. Сегодняшнее сообщение будет проще и объяснит две причины почему IE переименовывает файлы.

Расширение файла и строка запроса

Если при загрузке файла HTTP ответ не содержит заголовок Content-Disposition, то IE сам определит название файла из URL. Но он может вести себя не предсказуемо если Content-Type имеет неопределённый MIME-тип (например application/octet-stream обычно используют для исполняемых файлов) и когда в URL есть строка запроса (querystring). Например скачаем www.fiddlercap.com/dl/FiddlerCapSetup.exe?id=123 в результате файл будет назван “FiddlerCapSetup” без расширения. Если файл попробовать запустить, он покажет диалог «Открыть файл при помощи…».

Команда IE сама наткнулась на эту проблему когда запускали IE8 Beta. На сайте каждая ссылка имела строку запроса querystring на странице для скачивания, включая ссылку на дистрибутив для сбора статистики. В течении короткого промежутка времени пользователи вручную переименовывали название файла что бы установить бету.

Есть два временных решения этой проблемы, вы можете:

  • сделать заголовок Content-Disposition с необходимым названием файла.
  • убрать строку запроса из ссылки.
  • добавить строку запроса с желаемым названием файла: www.fiddlercap.com/dl/FiddlerCapSetup.exe?id=123&x=.exe

Эти три подхода восстановят потерянное расширение и позволят скачивать файлы готовые к запуску.

Возникает очевидный вопрос: «почему делает это? Нельзя ли поменять ИЕ?» Как выясняется, некоторые cgi имеют расширение .exe и используют строку запроса что бы передать название файла для IE. Так, к сожалению, вопрос совместимости не даёт изменить IE игнорировать строку запроса, пока сайты рассчитывают на нестандартное поведение.

Заголовок Content-Disposition и запуск из кеша

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

Со страницы пользователям можно скачать онлайн установщик (installer), он может установить одну или много различных продуктов. Установщик представляет собой простую «заглушку» для скачивания и установки выбранных программ. Интересно то что только один установщик и команда надеялась на название файла для заглушки, который сообщал какой продукт надо установить. Название файла устанавливалось заголовком Content-Disposition и сама заглушка установщика загружалась по ссылке на ASHX (специальный обработчик запросов в IIS).

Например, http://example.com/getinstaller.ashx?InstallProducts=1,2,3 возвращала установщик с заголовком Content-Disposition: attachment; filename=”Install-1-2-3.exe” , когда http://example.com/getinstaller.ashx?InstallProducts=4,7 возвращал установщик с Content-Disposition: attachment; filename=”Install-4-7.exe”. При запуске, заглушка установщик проверял свой имя, скачивал и устанавливал запрошенные продукты.

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

Проблема имеет две главные загвоздки с этим подходом – одна очевидная и другая не очевидная. Очевидная проблема что пользователь не будет запускать установщик сразу, может сохранитьустановщик под другим именем. Или переименовать файл, (например на «CoolStuffToInstall.exe») после чего установщик ошибется. Более трудноуловимая проблема если вы не рассчитываете на название файла запущенный из кэша временных файлов. Продуктовая команда безошибочно знала что кэшированный файл имеет в конце названия число устраняющее неоднозначности (когда скачаны несколько файлов с одинаковым названием – прим.) в кэше (например «Install-1-2-3[2].exe») и их парсер игнорировал это число. Тем не менее они наткнулись на скрытую проблему позже, когда перенесли свой сервис с тестового сайта локальных интранет разработчиков, в «живой» Интернет.

Эта проблема когда запускной файл скачанный из интернета в защищенном режиме должен был копироваться из папки временных файлов защищенного режима в незащищенную папку. Когда копирование закончено, файл переименовывался в название созданное из оригинального URL. Так заглушка загрузчика всегда сохранялась под именем getinstaller[1].exe которое вызывало ошибку в логике обработки командной строки. Команда ни разу не встречала эту проблему на внутреннем тестовом сайте потому что тестировалось все в зоне локального интранета. Зона локального интранет работает вне безопасного режима, переименование никогда не срабатывало.

Обновлено: IE9 RC не имеет этой проблемы, копирует название файла между кэшами.

Мы предложили варианты временных решений команде, включая использование HTTP обработчик позволяющий возвращать любой URL с нужным путем установщика, как http://example.com/getinstaller/Install-1-2-3.exe, когда название файла сохранится поверх копии. Конечно этот подход не спасёт от проблемы переименовании пользователем. Мы так же предложили что бы установщик имел в себе способ выбора пользователями продукты для установки.

Установщик-заглушка так же добавлял обработчик нового протокола, который позволял в будущем запускать установщик по специальному URL (например installer://site/params/etc). Пока протокол может подвергнуться атакам и должен быть тщательно проверен по вопросам безопасности, его преимущество будет в поддержке всеми браузерами на Windows и он не будет подвержен проблеме переименования файлов наследуемую из оригинальной магической архитектуры.

До следующего раза,
-Eric

03/11/2010

IE9 в виртуальной машине

Filed under: IE9 — TheBits @ 20:38

С выходом IE9 beta появились сообщения об артефактах на страницах если браузер работает в виртуальной машине. В основном это коснулось пользователей Parallels.

Как известен IE9 использует аппаратное ускорение для отображения страниц. По каким то причинам некоторые компоненты виртуальной машины не готовы к поддержке аппаратного ускорения.

Поддержку аппаратного ускорения можно отключить в IE9. Для этого необходимо:

  • Открыть “Свойства обозревателя” (Internet Options);
  • Перейти во вкладку “Дополнительно” (Advanced);
  • В появившемся списке найти галочку “Использовать аппаратное ускорение” (Use software rendering instead of GPU rendering).

После перезагрузки браузера проблемы прекратятся.

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

16/10/2010

User-Agent в IE9

Filed under: IE9 — Tags: — TheBits @ 01:21

HTTP заголовок User-Agent автоматически отсылается браузером вместе с HTTP запросом. При помощи этого заголовка можно определить какой браузер или робот запрашивает ресурс на сервере. Этим заголовком нужно пользоваться с особой осторожностью.

IE8 отправлял большой User-Agent. Например мой выглядил вот-так: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)

В IE9 этот заголовок значительно уменьшился. О чём подробнее можно узнать в российском блоге IE. Полная строка в IE9 остаётся доступной в объекте window.navigator.userAgent.

11/10/2010

Какой браузер будет в Windows Phone 7

Filed under: Uncategorized — TheBits @ 13:43

Интересный вопрос. Ответ я получил ещё 26 сентября на встрече студентов-партнёров в офисе Microsoft.

Хороший разговор об этом в неофициальном подкасте 9 из Microsoft.

Приведу его расшифровку начиная с 20:47:


Пётр Диденко: Слушай, Миша я вот знаешь что подумал опять же о разработчиках, о наших многострадальных разработчиках. Вот им приходится переписывать, там, приложения с одной операционной системы на другую, а потом ещё, значит, несколько платформ, но вот наиболее популярные помимо обсуждаемых уже сегодня, обсуждавшихся уже сегодня. Там есть iPhone платформа где там всё заморочено очень, есть Android платформа, ещё какие то появляются. Вот. А вот, э-э-э, есть такой подход что можно писать, грубо говоря, на html и джаваскрипте и там на базе опредлённых фреймворков просто писать по сути кросс-платформенные приложения для мобильных устройств, которые значит потом компилируются в нативные приложения но на самом деле ходят местный браужер.. браузерный движок, короче говоря браузер, движок браузера который установлен на мобильном телефоне для того что бы исполнять код который в них там зашит и так далее. Вот если в случае са-э-э-э.. андройдом, айфоном всё понятно, там webkit будет. По-этому можно э-э, писать, э-э, какой то предсказуемый джаваскрипт, html5 код и он будет выполняться предсказуемо, хотя на самом деле там 4 десятка версий вебкитов есть на мобильных платформах. Что насчёт браузера в Windows Phone 7. Вот Windows Mobile 6.5 был браузер Internet Explorer 6. Выпуска 2001-го года. А вот что будет в Windows Phone 7? И насколько разработчикам будет удобно писать такие fake-веб приложения? Как я загнул.

Михаил Черномордиков: Да, ты очень загнул. Я бы ответил в двух частях: Первая часть касается того… (смех) Да. Пункт первый. Вопрос в том разрабатывает ли настоящее приложение или делать через браузер – это очень длинный дискуссионный вопрос. А, ну это по сути как идея, всего универсального и всего специализированного. Надо смотреть на конкретные случаи, но пока тренд индустрии показывает что скорее люди идут на разработку приложений под каждую платформу, но при этом если вы хотите писать приложения с браузером внутри, то Windows Phone 7 имеет встроенный контрол на сильверлайте который так и называется – веб-браузер. Соответственно внутрь вашего приложения вы можете поставить веб-браузер и в нём что нибудь открывать. Что касается браузера который встроен в телефон наш то там стоит версия которую можно условно назвать Internet Explorer 7.5. потому что это 7й Explorer с некоторыми дополнительными возможностями от 8ки. Но и кроме того понятно что сейчас разрабатывается большая 9ка, вот вышла бэта версия и значит что можно ожидать и что в телефоне она рано или поздно появится. Скорее рано, чем поздно. Причём все Windows Phone 7 телефоны, они будут обновляться прошивками как это делается на плеере Zune. Соответственно если новый браузер например выйдет, то он установится на всех телефонах которые будут с Windows Phone 7. Что очень удобно. Во отличии что есть у других производителей с фрагментацией. Ну и наконец с точки зрения webkit, наверное впринципе можно разработать свой webkit под Winodows Phone 7 на сильверлайте если это можно сделать технически, это сейчас думаю. То-о-о можно и над этим подумать, а-а может быть можно сделать такую штуку которая будет… если всё равно использовать приложение Интернет, что бы оно рендерило картинку на сервере потом возвращало картинку на клиент. Тут разные сценарии.

П.Д.: Не-е, ну вот насколько я понимаю webkit это C++-ный код, соответственно (заминка) вы говорите “пишите на C#”. И вопрос: как можно webkit на Windows Mobile платформу? То есть я так понял браузер который в windows phone 7 он не “юзабл” для таких кросс-платформенных фреймворков. Соответственно захочется принести свой браузер, да. Принести браузер э-э на Windows Phone 7 платформу наверное не очень возможно, я не помню что бы Opera это обещала, то есть ей надо что то переписать, а да у неё есть Opera mini который чуть ли не на j2me написан который тоже не подойдёт для таких сложных целей как написание кроссплатформенных мобильных, как использование кроссплатформенных мобильных фреймворках. Значит, по-моему Opera ничего не говорила про то что напишет нативный браузер для Windows Phone 7 если я не ошибаюсь.., ошибаюсь – поправьте. А-а значит хромеум тоже С++ код, его не притащишь на мобильную платформу, ну и webkit. Правильно? Вот, соответственно браузеры… (пауза) Нет.

М. Ч.: Во-первых браузер есть встроенный. Во вторых я уже слышал что люди пишут браузеры на XNA (платформа разработки игр для XBox, Windows, Windows Phone 7), да, вы представляете такие тоже можно делать штуки.

П. Д.: Не, не, не-е. Браузер написать на  XNA очень просто. Надо написать UI и запустить. Вопрос что с движком будет. Движок нормальный это “биг дил” (big deal), да. Нормальный движок отчуждаемый это хромиум. Соответственно чего?

М. Ч: Нормальные движки бывают разные. Например “трайдент” (Trident). Знаешь такой?

П. Д.: Ну если бы его можно было нормально а.. э.. Трайдент это движок который в 4й версии представлен в IE8 и далее развивается. Если бы его нормально можно было перенести на Windows Phone 7 это бы сделали. И не говорили бы что Windows Phone 7 IE 7.5.

М. Ч.: Не спеши! Во-первых не всё сразу. Во-вторых – бразуер есть. И если вспомнить то количество телефонов на рынке которые имеют разные браузеры. Там я хоч… напомню что у нас среди лидеров рынка, таких компаний как Nokia, как RIM которые делают BlackBerry. То есть на самом деле игроков очень много и у них у всех разные конфигурации. Поэтому я всё таки вернусь в первую часть. Что я бы очень сильно подумал прежде чем делать решение на таком вот архитектурном паттерне.

П. Д.: …с-стоп… Стоп. Nokia и RIM это webkit.

М. Ч.: Да, но он там разный как ты знаешь.

П. Д.: Ну он достаточно… Он.. Он по сравнению с, э-э-э, Internet Explorer 7.5 он не разный, он одинаковый.

М. Ч.: То есть ты говоришь сейчас что в телефонах Nokia которые не смартфоны тоже стоит webkit, да? Который такой современный и быстрый?

П. Д.: Не-е. Эти телефоны вообще не для людей, они не имеют коммерческого смысла и их мы не обсуждаем.

М. Ч.: Ну вот ты посмотри на циферки которые есть с точки зрения доли рынка там, количество проданных устройств и так далее.

П. Д.: Смотри на динамику то тех циферок…

М. Ч.: Ну вот я тебе о чём и говорю что не всё происходит сейчас. Если мы перенесёмся на 5 лет вперёд то возможно всё изменится. И Windows Phone 7 там будет на хорошем месте. Через 5 лет много чего поменяется, так что посмотрим.

П. Д.: Надо разработчиков привлекать. Они для всего остального могут писать один и тот же код. Потом компилировать его в простенькие псевдо-кроссплатформенные приложения и это о-о-фи-и-гительно дешево для всех платформ: для BlackBerry, для Nokia в принципе, для iPhone, для Android.. И для всего остального где webkit и какой нибудь ещё более-менее распространённый браузер. Получается для Windows Phone 7 – нет.

М. Ч.: Ну сейчас там стоит 7.5 – это раз. Второе я всё таки смотрю на циферки вокруг, я вижу как много людей вокруг пишут реальные приложения для телефона, а не кроссплатформенные такие браузерные решения. По-этому пока индустрия вот она по другму идёт.

П. Д.: Миша, они это делают не от хорошей жизни. Они хотели бы писать один раз и не инвестировать 5 раз в одно и то же.

М. Ч.: Но тем не менее даже если людей нет целей под Windows Mobile или Windows Phone они всё равно это делают. Хотя ты говоришь что везде одинаковый движок стоит.

П. Д.: Посмотрим как они будут делать это в будущем. Допустим 1 июля 2011 года.

М. Ч.: Ну давай посмотрим что будет 1 июля 2011 года. Но у нас будет 70 какой нибудь выпуск. Нет? Нет. Что то я загнул.


Выход IE8 для Windows был переломной точкой когда режим совместимости (quircks-mode) оставался в ie6-ie7, а IE8 стал по-умолчанию показывать страницы в режиме поддержки стандартов. Возвращаться в такое прошлое очень странный шаг. Пётр по всей видимости прав насчёт того что Trident 4 не смогли перенести на Windows Phone 7.

В документе “Designing Web Sites for Phone Browsers” есть описание того что происходит, но документ датирован апрелем 2010 и на данный момент может быть не совсем актуальным.

В документе описываются рекомендации по созданию страниц и то от чего лучше отказаться. В том числе рекомендуют писать DOCTYPE, не пользоваться таблицами. Технические параметры: cписок поддерживаемых шрифтов и специальные meta теги для адаптации страницы на мобильном. Объявлена поддержка HTML4.0, XHTML1.0, XHTML-MP, ECMAScript 3, AJAX (i.e. XMLHttpRequest), DOM Level 1, and Cascading Style Sheets (CSS) Level 2.1.

User-Agent браузера точно показывает что это IE7:

Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0) <DeviceManufacturer>;<DeviceModel>

Из IE8 в браузере есть Selectors API и XMLHttpRequest.

04/10/2010

Быстрые вкладки Quick Tab в IE9

Filed under: IE9 — TheBits @ 20:51

“Быстрые вкладки” появились в IE7 как средство быстрой визуальной навигации среди множества открытых вкладок.

В IE9 механзим по прежнему присутствует, но по-умолчанию отключен. Что бы включить “Быстрые вкладки” нужно:

Открыть “Свойства обозревателя”, во вкладке “Общие” и разделе “Вкладки” в параметрах необходимо включить пункт “Быстрые вкладки”.

Существует мнение что отключение быстрых вкладок может ускорить IE7 и IE8.

Older Posts »

Powered by WordPress