Internet Explorer 8. Первое приближение
Собрался с духом и установил Internet Explorer 8 beta 2. Обновление прошло гладко, никаких запросов на проверку оригинальной версии Висты и тд.
После рестарта было немного непонятно куда тыкать, так как иконка и надпись к ней не изменились. Но все установилось, версия поменялась. Решился я на этот шаг из-за того, что с тех пор как я вынуждено перелез на Висту, я пользуюсь отличной программой под названием IE Tester, которая в разных табах рендерит веб-документы в той версии IE, в которой попросишь, начиная с IE5.5 и заканчивая IE8 beta1.
Впечатления от IE8 двоякие. Как собственно и от всех продуктов семейства Мелкомягких. Вроде бы все работает в Standards Compliance Mode, поддержка CSS 2.1, интересные утилитки, такие как Developer Tools, Accellerators, Web-Slices и тд, но сыро. Скоропалительных выводов делать не стоит, но создается ощущение что где-то тебя имеют.
А основывается оно вот начем. Во-первых, на части моих проектов, которые вылизаны и оттестированы везде где только можно, настойчиво выдается подозрительная ошибка “Permission denied” в первой строке и скрипты не отрабатывают. Лаконично, но малоинформативно. Во-вторых, CSS как-то подозрительно нестабилен. Где-то есть поддержка :first-letter, где-то нет. Тоже самое с :before и :after. Обычный div, с указаным min-width, не превышающим ширину экрана выдает горизонтальный скролл пока не укажешь ему max-width: 99.8%… Чудеса.
Все это конечно только поверхностное рассмотрение, да еще и beta-версии, которые по традиции в Microsoft называют вместо alpha. Есть и приятные моменты. Большинство ежедневных плясок с бубном можно будет забыть, более качественная поддержка стандартов налицо. Встроенные Developer Tools, с дебаггером, работой со стилями и тд — очень не плохо. CSS-хаки для предыдущих версий IE игнорируются, что есть гуд. На данный момент не обнаружены CSS-хаки для IE8, но Conditional Comments никто не отменял :)
С Conditonal Comments есть небольшая проблема — когда в IE8 включен Compatibility Mode (IE8 предлагает включить его при любой возможности, но вы можете включить его вручную), то веб-документы рендерятся как в IE7, но Conditional Comments в данной ситуации все равно остаются как для IE8. То есть, если файл стилей для IE7 у вас подключен через четкое указание версии, то IE8 его не увидит даже в Compatibility Mode.
Для тех из вас, кто уже хочет потрогать очередное детище Мелкомягких за вымя, я приготовил небольшую шпаргалку по Conditional Comments, которая поможет решить вышеописанную проблему и некоторые другие:
<!--[if IE 8]> Вызов файла стилей/код/стили < ![endif]--> - если Интернет Эксплорер 8
<!--[if !(IE 8)]> Вызов файла стилей/код/стили < ![endif]--> - если не Интернет Эксплорер 8
<!--[if lt IE 8]> Вызов файла стилей/код/стили < ![endif]--> - если меньше чем Интернет Эксплорер 8 (lt = lower than)
<!--[if gt IE 7]> Вызов файла стилей/код/стили < ![endif]--> - если больше чем Интернет Эксплорер 7 (gt = grater than)
<!--[if lte IE 7]> Вызов файла стилей/код/стили < ![endif]--> - если Интернет Эксплорер 7 и ниже (lte = lower than or equal)
<!--[if (IE 7)|(IE 8)]> Вызов файла стилей/код/стили < ![endif]--> - если Интернет Эксплорер 7 или 8
<!--[if (gte IE 6)&(lte IE 8)]> Вызов файла стилей/код/стили < ![endif]--> - если Интернет Эксплорер между 6 и 8 включительно
<!--[if !IE]> --> Вызов файла стилей/код/стили <!-- <![endif]--> - если любой браузер, исключая Интернет Эксплорер
Вот собственно и все что я успел заметить во время первого знакомства с IE8. Надеюсь что к релизу замеченные недочеты и ляпы будут исправлены и мы наконец-то получим браузер, способный брать качеством, а не количеством. Аминь.
22/09/2008 в 6:54 дп
[Данный комментарий гордо накалякан с IE8beta2]
Кстати, такую фишку с альфой и бетой инициировали не в майкрософт, а вообще в интернетах. К тому, у каждой компании свои правила именования версий продуктов, и если мы видим в нём альфу, то они видят в нём бету. Действительно, у каждого человека субъективный взгляд на эти понятия.
Что касается, скриптина, можешь включить встроенный дебаггер скриптов, тогда при появлении подобных ошибок он будет автоматически искать то место, где она произошла (именно в исходном коде): Tools -> Internet Options -> Advanced Tab -> Browsing list holder -> снять галки с disable script debugging.
По поводу ошибки защиты: Microsoft Windows Internet Explorer 8 стал более тщательно относится к работе с ActiveX-элементами на странице. Чтобы подобные элементы заработали, это нужно напрямую указать в настройках. Ты, видимо, встретился с этой ошибкой в библиотеке JQuery (около строки xml.open(…)), что есть, собственно, враппер для MSXML ActiveX content. «Делайте выводы».
Как по мне, так отличный релиз. Правда есть маленькое странное особенность (именно среднего рода): некоторые опции спрятаны или выключены по умолчанию. но, видимо, так оно и надо.
22/09/2008 в 8:50 дп
Насчёт :first-letter я недавно с удивлением обнаружил, что
22/09/2008 в 9:08 пп
Хм, а вот про подобные логические операторы не знал — (IE 7)|(IE 8), спасибо.
22/09/2008 в 11:25 пп
@Дин, если бы ты появился вчера, мы бы все это с тобой обсудили в W3Cast… Теперь видимо будем общаться через комментарии… :(
@Lynn, а что именно удивило?
@pepelsbey, я кстати впервые с ними встретился в XSL, по VB почему-то их совсем не помню. Но то что они есть - радует ))
7/12/2008 в 4:12 пп
Ок, ждем качественный браузер!