Wpisany przez Patryk yarpo Jar
|
wtorek, 26 października 2010 12:18 |
Niestety IE stanowi dużą część rynku. Nie wiem, jak najnowsze wersje tego programu, ale na pewno IE6 z XHTML radzić sobie nie umiał :(.
W tym artyklule postaram się pokazać, co należy zrobić, aby dokument XHTML był poprawny, a IE6 potrafił go jakoś odczytać.
Mimo że IE nie potrafi obsługiwać XHTML – serwowanego jako aplikacja XML – można wykonać kilka zabiegów, które pozwolą nam na prawidłowe wyświetlanie treści także i w popularnym „misiu” (od MSIE).
-
Znaczniki pustych elementów powinny zawierać dodatkową spację przed ukośnikiem, np. zamiast <br/> powinno być <br /> .
-
Należy unikać używania zminimalizowanej formy (np. <p/>) w przypadku pustych elementów, które mogą mieć zawartość; np. stosowanie znacznika
<script type="text/javascript" src="/skrypt.js"/> w dokumencie przesyłanym jako HTML prowadzi zwykle do niewyświetlenia reszty dokumentu; należy w tym wypadku używać <script type="..." src="/..."></script>
-
Obok lub zamiast instrukcji xml-stylesheet należy odwoływać się do zewnętrznych arkuszy stylów przy pomocy obsługiwanego w HTML-u znacznika
<link rel="stylesheet" ... />
-
Objęcie wewnętrznych skryptów i stylów sekcją CDATA może powodować ich błędne działanie; należy w związku z tym zakomentować znaczniki początku i końca sekcji CDATA, np.:
<style type="text/css">/* <![CDATA[ */ arkusz stylów /* ]] */</style>
-
Oprócz typowej dla XML deklaracji języka za pomocą atrybutu xml:lang, należy też używać zgodnego z HTML atrybutu lang.
-
Dla kompatybilności z IE6 należy pomijać deklarację XML — powoduje to w nim przejście w tryb wstecznej zgodności. Nie ma sensu jednak dodawać jej dla innych przeglądarek (skryptami po stronie serwera), gdyż i tak jest ona nieobowiązkowa. Strona musi być zakodowana jako UTF-8/USC-*, a jeżeli jest zakodowana inaczej, musimy odpowiednią informację dodać do nagłówka Content-Type (np. kodem PHP:
<?php header('Content-Type: '.$mime.'; charset=iso-8859-2'); ?> , gdzie `$mime' to ustalony w wyniku negocjacji zawartości typ pliku. Zobacz: http://kurs.browsehappy.pl/HTML/Wysylanie).
-
W DOM należy używać createElementNS zamiast createElement i trzeba uważać na wielkość liter (DOM HTML podaje nazwy elementów wielkimi literami, DOM XML zachowuje wielkość liter i w XHTML dopuszcza tylko małe litery).
XHTML 1.1
Jako, że to jest już trochę inny temat zdecydowałem o publikacji tego jako osobnego artykułu.
|