Чем IE7 лучше IE6? - PullRequest
       6

Чем IE7 лучше IE6?

15 голосов
/ 03 мая 2010

Часто в сообществе веб-разработчиков вы слышите, как люди жалуются на разработку для IE6. Однако, если вы разрабатываете с использованием надежной среды JavaScript, такой как jQuery, разрабатываете ли вы для IE6 иное, чем разработка для IE7?

Ответы [ 8 ]

16 голосов
/ 03 мая 2010
  • Может корректно отображать PNG альфа-канала.
  • Расчеты размеров ящиков не слишком отличаются от стандартов.
  • Производительность рендеринга и JavaScript на самом деле позволяет вам делать что-то необычное, не останавливая время от времени пользовательский компьютер.
  • Некоторые проблемы безопасности были решены.

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

13 голосов
/ 03 мая 2010

IE7 поддерживает прозрачность PNG, которая является огромной помощью в поддержании графических ресурсов для сайта.

9 голосов
/ 03 мая 2010

Я добавлю несколько пунктов, которые не были перечислены:

  1. Ширина CSS строго соблюдается: IE7 в режиме соответствия стандартам теперь строго интерпретирует width стили в CSS. В IE6, если у вас есть дочерний элемент с width, который больше, чем родительский элемент, он часто игнорирует объявление width родительского элемента и расширяется, чтобы соответствовать дочернему элементу, часто требуя взломов overflow: hidden для убедитесь, что родитель не расширился.

    Это в основном хорошая вещь, но, к сожалению, вводит ряд других причуд, например, <table style="width: 100%"> в прокручиваемом DIV с CSS overflow, установленным на overflow: auto или scroll, расширит таблицу до ширины прокручиваемого DIV , включая ширину вертикальной полосы прокрутки , поэтому некоторые из таблицы будет отрезан полосой прокрутки справа.

  2. Cleartype с отключенными фильтрами DirectX: IE7 отключает cleartype (сглаживание шрифтов на ЖК-мониторах) для элементов, которые имеют фильтры DirectX, такие как альфа-прозрачность и градиенты. В некотором смысле это хорошо, так как элементы cleartype делали с фильтрами, особенно жирными, очень размытыми / нечеткими, но это плохо, потому что теперь он отображает текстовый блок с псевдонимами на LCD.

    IE7 Я думаю, что теперь также поддерживает alpha: 1.0, а также filter: alpha(opacity=100)

  3. Исправлена ​​ошибка SELECT z-index: В IE7 исправлена ​​ошибка, когда элементы SELECT имеют бесконечный z-индекс и всегда находятся над другими элементами, если вы не поместите IFRAME между SELECT и элемент, который вы хотите отобразить над ним. Это проблема для меню и т. Д.

  4. Улучшения CSS псевдоклассов: :hover и некоторые другие подобные состояния CSS теперь поддерживаются вне гиперссылок.

  5. Производительность не обязательно улучшается: IE7 внес много ошибок в свой движок VML, а в IE8 VML теперь в 10 раз медленнее, чем в IE7 в режиме соответствия стандартам, так что это не совсем хорошо. Кроме того, у меня есть тестовые примеры, которые показывают, что обнаружение offsetLeft и offsetTop в событиях мыши в режиме соответствия стандартам в IE7 также может быть примерно в 10 раз медленнее в моем веб-приложении.

    IE в режиме причуд, хотя он примерно одинаков для VML и offsetLeft/Top в IE6, 7 + 8. Мой опыт работы с режимом соответствия стандартам IE7 на самом деле намного медленнее, чем режим соответствия стандартам в IE6, хотя он определенно гораздо более совместим.

    Я думаю, что это что-то вроде обоюдоострого меча, так как производительность raw JavaScript действительно улучшилась, поэтому такие вещи, как работа с методами массива и для циклов действительно улучшились, хотя я думаю, что механизм рендеринга и многие связанные с ним методы DOM стали намного медленнее в режиме соответствия стандартам в IE7 +.

6 голосов
/ 03 мая 2010

ИМО, между IE6 и IE7 существует огромная разница.

  • IE7 поддерживает встроенный XMLHTTP, тогда как в IE6 требуется элемент управления ActiveX.
  • IE7 поддерживает несколько дополнительных псевдоклассов
  • В IE7 исправлены некоторые проблемы с z-порядком и масштабированием.
  • IE7 исправил "несколько" проблем с блочной моделью.
  • В IE7 добавлена ​​поддержка > дочерний селектор
  • В IE7 добавлена ​​поддержка смежных (+) селекторов
  • Поддержка прозрачности PNG
2 голосов
/ 03 мая 2010

Я думаю, что большинство улучшений IE7 было связано с производительностью (javascript) и пыталось приблизиться к соответствию стандартам CSS.

На моей макушке, насколько я помню, были некоторые из основных улучшений:

  • Исправлена ​​ошибка двойных полей
  • Исправлены многочисленные проблемы с блочной моделью и наследованием позиционирования
  • Включение панели инструментов разработчика в браузер (не исправление ошибки, но большая проблема для меня)
  • Как отмечают другие, правильная обработка PNG

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

1 голос
/ 03 мая 2010

Лично в IE6 больше всего раздражает отсутствие прозрачности PNG. Это приводит к необходимости использования AlphaImageLoader для изображений. Последствия этого представляют свои собственные ошибки / неспособности. Например, прозрачный фон с использованием AlphaImageLoader не может повторяться.

Также есть ошибки, такие как ошибка double margin , отсутствие поддержки минимальной высоты и минимальной ширины, добавление дополнительных разрывов строк к плавающим элементам, отсутствие селекторов css .

1 голос
/ 03 мая 2010

Javascript и CSS-фреймворки сводят к минимуму количество повреждений, вызванных IE6, но все еще существует ряд ошибок и несоответствий между IE6 и другими браузерами.

IE7 лучше, чем IE6, но только просто.

1 голос
/ 03 мая 2010

Едва ли; с точки зрения выигрыша IE7 в соответствии стандартам, это незначительно. Все версии Internet Explorer до сегодняшнего дня, включая IE8, имеют ужасные перерывы в реализации JavaScript, CSS и DOM. Большинство хаков, которые вы используете для IE6, по-прежнему применимы к более поздним версиям. Однако, с другой стороны, IE9 выглядит довольно неплохо, и был достигнут большой прогресс (я никогда не думал, что скажу это на самом деле).

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

Я бы порекомендовал Статью Марка Уилтона-Джонса о многочисленных недостатках IE для получения дополнительной информации.

...