Как да се справите със старите браузъри
Напоследък често ми се налага да режа някой сайт или за мой проект, или за проект на някой партньор. И както бях писал някога - често срещам проблеми с Internet Expolorer и най-вече неговите версии от 6 назад. Тоест версии 6.0, 5,5 и 5.0.
Проблемите идват най-вече от Internet Expolorer 6.0, защото е много разпространен (върви с Windows-а) и хората го използват. Но тази версия има много сериозни проблеми с W3C стандартите и не прави алфа прозрачност при PNG графиките.
Решение на тези проблеми разбира се има, но костват време и усилия. Единият вариант е да направим отделен CSS за Internet Explorer и да го викаме при разпознаване на този браузър. Другият вариант е да пишем код и за двата браузъра.
Но това е трудно и в повечето случаи скапваме кода, за да се съобразим с IE. Тоест използваме стари CSS техники, налага се да допускаме грешки и т.н. Трябва да използваме и GIF изображения, вместо PNG, но те са с ниско качество.
Решението за изображенията го получих от г-н Явор Младенов. Начинът за справяне с проблема е описан тук и за мое учудване работи доста добре. Но това не реши проблемите ми с кода, защото аз по принцип спазвам най-новите стандарти.
За клиентски проекти няма как - пиша си кода универсално или в два варианта. Но за мои такива не съм съгласен да се съобразявам с Internet Explorer. Измислих едно елегантно решение и се надявам да накара потребителите да си обновят браузърите.
Идеята е следната - добавям една PHP функция след първия таг <body> на сайтовете си, която проверява версията на браузъра. Ако тя е IE 5.0, IE 5.5 или IE 6.0, тогава изплюва един <div>, който симулира стандартно предупреждение на браузъра.
Ето една демонстрация, за да разберете идеята:

Общо взето предупреждавам потребителя, че използва стара версия на браузъра си и е възможно съдържанието да не се визуализира коректно. Подканвам го също така да си обнови версията или да си сложи съвременен браузър като Mozilla Firefox.
Решението е елегантно и е в полза на потребителите, защото използването на стари версии на браузърите е опасно за компютрите. Ако се използва IE7 или друг браузър - съобщението не излиза. Кода може да си свалите от тук.
Това чудо се поставя в PHP файл, непосредствено след <body> тага. Тествано - работи. Може да го видите в действие на моя SEO сайт. Надявам се, че съм бил полезен на дизайнерите, програмистите и най-важното - потребителите ![]()
Хехе…това таман си го сложих на блога на SEO-Bulgaria…много зарибява
Ако се разпространи, ще му направя и версия 2.0 с JavaScript. Тоест ще има в дясно бутонче за затваряне и целият DIV ще е с абсолютна адресация в CSS - ще стои винаги залепен като toolbar
Опитай се да центрираш таблица в ИЕ ( дори номера с margin-left: auto; margin-right: auto; не минава) и, разбира се, няма да стане. Един пич е намерил решение с джаваскрип, което не е решение, ама от мен да мине.
Аз ще ти кажа как го правих невремето центрирането на теблици в IE. Значи слагаш един div отвън на таблицата. Оставяш го с ширина по подразбиране (100%) и на div-а му задаваш taxt-align:center;
Уж трябва да работи само за текст, но центрира таблицата в div-a. Разбира се, таблицата трябва да е с някаква фиксирана ширина.
Е, това е проблемът, искам таблицата да е на %, не да е фикс.
Аз пък отдавна съм игнорирал старите версии на IE(5.0 , 5.5) За жалост все още трябва да се съобразяваме с IE6… Аз предпочитам да имам един универсален css, отколкото да се занимавам да пиша отделно и за IE. Пък и за повечето бъгове на IE се откриват фиксове…