В прошлом году вы, наверное, помните, что я пробежал через то, что я считал недооцененными качествами формата файла изображения, который, кажется, ускользает от радара — PNG8 .
А именно:
- Небольшие размеры файлов
- Градуированная альфа-прозрачность во всех современных браузерах
- Нет требований для потенциально хрупких взломов, требующих JavaScript, ActiveX и / или других проприетарных технологий.
Хотя, по общему признанию, вы должны были быть готовы немного снизить свои ожидания от рендеринга в IE6, мы сочли компромисс в целом целесообразным — особенно когда вы начинаете оттачивать свое умение создавать изображения PNG8, которые хорошо ухудшаются в IE6. Лично я не исключал использование PNG32 в определенных ситуациях, но PNG8, безусловно, мое предпочтительное оружие.
Имея это в виду, было здорово прочитать действительно интересную статью о взломах PNG32 и IE6 Джорджа Рейли в новом блоге Cozi Tech. Для небольшого прошлого Джордж провел семь лет, работая над IIS в Microsoft, и поэтому имеет две вещи, на которые большинство из нас не может претендовать:
- множество трудно завоеванных навыков отладки Microsoft ниндзя
- черная книга контактов Microsoft с викториной о бессмысленном IE6 вуду
Тем не менее, после развертывания проверенного временем взлома IE6 PNG32 в проекте, они провели следующие месяцы, борясь с постоянно несовместимыми зависаниями браузера.
Проблема ушла на несколько недель, но в конце октября она вернулась с удвоенной силой, повторяющейся несколько раз в день. Некоторые машины казались невосприимчивыми, некоторые могли воспроизвести его с почти 100% успехом. Там не было никакой очевидной общности; он воспроизводился на нескольких сборках IE6. Это нужно было исправить: мы не могли отправить веб-приложение, которое иногда сильно зависало в IE6.
Это должно быть почти идеальным кошмаром для отладки: проблема достаточно серьезная, чтобы разрушить приложение — т.е. достаточно, чтобы заставить пользователя убить свой браузер — но такая, которая, похоже, выбирает своих жертв либо через чайные листья, либо через ежедневную колонку гороскопа.
Даже собственное решение Microsoft — предварительная загрузка изображений с помощью JavaScript — было бесполезным в контексте их конкретного приложения. В конце концов, Джордж и его команда решили, что достаточно было достаточно.
С тех пор мы решили, что больше не будем прилагать героических усилий, чтобы наше веб-приложение выглядело так же хорошо в IE6, как и в современных браузерах. Помимо огромного количества боли, которую мы пережили в Affair of the Transparent PNG, борьба с IE6 стала для нас огромным временным потрясением, особенно когда речь идет о работе с ошибками CSS.
Когда вы считаете, что многие из нас, возможно, встраивали подобные проблемы в сайты, даже не подозревая об этом — эй, приходит сообщение об ошибке, вы пожимаете плечами и объясняете, что, вероятно, они что- то установили — это заставит вас дважды подумать об использовании PNG32 в то время как IE6 все еще рассматривается.