Колекція багів та рішень для IE

Блог фронтендера

Для тестування проектів у IE7-9 можна використовувати 10-у версію в режимі емуляції - так вдасться виловити більшість помилок. Однак, якщо потрібно тестувати в IE6, доведеться використовувати віртуальну машину з Windows XP, в якій встановлений даний браузер. З безкоштовних варіантів можу порекомендувати віртуалку VirtualBox. В якості альтернативи, але безперечно менш найкращий варіант, можна розглянути IE Tester.

Зміст статті

Тестування верстки

Самі розумієте, що браузер від Microsoft окремий випадок - у ньому доводиться тестувати проекти, починаючи з 7-ї версії по 10-у, і іноді, як я радий вписати це слово, з 6-ої. Для цього зручно використовувати останню версію браузера в режимі емуляції, вибравши потрібну версію. Зайдемо в кошти розробника (прим. - F12) і виберемо режим браузера:

використовувати
Режими браузера IE

Цього вистачить для виправлення 95% відсотків багів, наприклад, у режимі емуляції ви не побачите помилок у JS-коді, властивих оригінальним браузерам. Для інших 5% випадків або у разі тестування у 6-ій версії доведеться скористатися іншими варіантами:

  • використання віртуальної машини з Windows XP та встановленим оригінальним Internet Explorer 6
  • використання IETester. Програма дозволяє одночасно перевіряти свій проект у IE6-10. Однак іноді в її роботі можливі помилки – результат у вікні може виглядати криво, а насправді все нормально. Підійде як альтернативний варіант
  • portable-версії браузерів, відмінна добірка тут, проте недолік той самий, що і в IETester'і — буває невірним відображення верстки, хоча в оригіналі все може працювати коректно
  • існують онлайн-сервіси, які дозволяють перевіритипроект у цілій купі браузерів за допомогою зняття скріншота. Один із таких сервісів browsershots.org

Варто зазначити, що тестувати верстку в оригінальному браузері найкраще. І не забуваємо, що правила для IE підключаємо через окремий файл.

Практично всі розробники включають підтримку HTML5 тегів у цей спосіб, так що є велика ймовірність того, що при відвідуванні вашого ресурсу скрипт вже буде в кеші браузера.

Існують і альтернативні варіанти підключення html5shiv – наприклад, через бібліотеку Modernizr.

Підтримка властивостей CSS3 border-radius, box-shadow та linear-gradient

З архіву з плагіном необхідно витягнути файл PIE.htc, залити його в проект і в стилях для Internet Explorer властивістю behavior вказати шлях до цього файлу.

Однак не все так здорово, як здається - у PIE є два серйозні недоліки: перший - при множині PIE-підключень на сторінці він значно гальмує браузер, другий - при масштабуванні вікна браузера можуть спостерігатися артефакти зображень. Тому кожен повинен вирішити для себе - використовувати його чи ні, і відповідно далі робити заокруглення, градієнти та тіні для IE картинками, або дотримуватися парадигми graceful degradation.

Підтримка media queries

Internet Explorer нижче 9-ої версії не підтримує media queries, щоб виправити це, підключимо скрипт від Google:

Canvas для IE - explorercanvas

Фон на всю ширину вікна браузера

У CSS3 з'явилася чудова властивість background-size для того, щоб можна було розтягнути фон на всю ширину вікна:

Для старих браузерів IE ця властивість не працює, застосуємо інший прийом - вставимо зображення тегом перед закриваючим