Статьи

PNG32 хаки и IE6. Стоит ли оно того?

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

А именно:

  1. Небольшие размеры файлов
  2. Градуированная альфа-прозрачность во всех современных браузерах
  3. Нет требований для потенциально хрупких взломов, требующих JavaScript, ActiveX и / или других проприетарных технологий.

Хотя, по общему признанию, вы должны были быть готовы немного снизить свои ожидания от рендеринга в IE6, мы сочли компромисс в целом целесообразным — особенно когда вы начинаете оттачивать свое умение создавать изображения PNG8, которые хорошо ухудшаются в IE6. Лично я не исключал использование PNG32 в определенных ситуациях, но PNG8, безусловно, мое предпочтительное оружие.

Имея это в виду, было здорово прочитать действительно интересную статью о взломах PNG32 и IE6 Джорджа Рейли в новом блоге Cozi Tech. Для небольшого прошлого Джордж провел семь лет, работая над IIS в Microsoft, и поэтому имеет две вещи, на которые большинство из нас не может претендовать:

  1. множество трудно завоеванных навыков отладки Microsoft ниндзя
  2. черная книга контактов Microsoft с викториной о бессмысленном IE6 вуду

Тем не менее, после развертывания проверенного временем взлома IE6 PNG32 в проекте, они провели следующие месяцы, борясь с постоянно несовместимыми зависаниями браузера.

Проблема ушла на несколько недель, но в конце октября она вернулась с удвоенной силой, повторяющейся несколько раз в день. Некоторые машины казались невосприимчивыми, некоторые могли воспроизвести его с почти 100% успехом. Там не было никакой очевидной общности; он воспроизводился на нескольких сборках IE6. Это нужно было исправить: мы не могли отправить веб-приложение, которое иногда сильно зависало в IE6.

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

Даже собственное решение Microsoft — предварительная загрузка изображений с помощью JavaScript — было бесполезным в контексте их конкретного приложения. В конце концов, Джордж и его команда решили, что достаточно было достаточно.

С тех пор мы решили, что больше не будем прилагать героических усилий, чтобы наше веб-приложение выглядело так же хорошо в IE6, как и в современных браузерах. Помимо огромного количества боли, которую мы пережили в Affair of the Transparent PNG, борьба с IE6 стала для нас огромным временным потрясением, особенно когда речь идет о работе с ошибками CSS.

Когда вы считаете, что многие из нас, возможно, встраивали подобные проблемы в сайты, даже не подозревая об этом — эй, приходит сообщение об ошибке, вы пожимаете плечами и объясняете, что, вероятно, они что- то установили — это заставит вас дважды подумать об использовании PNG32 в то время как IE6 все еще рассматривается.