Validní XHTML 1.1 (včetně MIME) vs. funkčnost v IE7

Když jsem si nechal zvalidovat tyto stránky, zjistil jsem, že pro XHTML 1.1 W3C doporučuje MIME application/xhtml+xml a tak jsem všude upravil hlavičky (proč nebýt 100% validní .-) ).
Ale to jsem neměl dělat…

Když jsem patřičně poupravil JS na stránkách (názvy elementů totiž konečně začaly být viděny malým písmem, a ne velkým, jak tomu bylo u MIME text/html) a byl jsem konečně spokojen, že mi vše perfektně ve Firefoxu funguje, přišel ten okamžik.

Otevřel jsem IE7 a po dlouhé době, kdy se stále načítala domovská stránka i přes opakované klikání na „Cancel“ a do adresního řádku nešlo kliknout, jsem zadal adresu webu a co se to nestalo — stránka se místo zobrazení nabídla jen k uložení...

Říkal jsem si, třeba jen IE potřebuje nějakou aktualizaci a tak jsem si nechal vhodný program na webu Microsoftu „doporučit“. Ale místo očekávané informace o možnosti stáhnout nějakou tu záplatu jsem se dozvěděl, že Microsoft MIME application/xhtml+xml prostě nezná. Měl jsem sto chutí se na IE vykašlat, ale bohužel ho používá většina lidí :(, tak jsem začal googlovat a zkoušet jak tento problém vyřešit (vracet úplně na začátek se mi totiž moc nechtělo).

Po několika pokusech o různé kombinace hlaviček zasílaných v HTML/serverem jsem dospěl k tomu, že nejjednodušší bude IE (resp. prohlížeč nepodporující application/xhtml+xml) detekovat a ze serveru mu posílat Content-type „špatný“ (v jednom dokumentu W3C připouští použití i text/html, ačkoli by se mělo používat application/xhtml+xml — zdá se, že zpřístupnění nejrozšířenějšímu prohlížeči nakonec nad čistotou návrhu zvítězilo), protože ostatní prohlížeče se pak k dokumentu mohou chovat jako k XML, což má řadu výhod, zatímco pro IE půjde jen o HTML. Tím se rozdíl ve zpracování dokumentu jednotlivými prohlížeči ještě zvýšil, ale přijde mi to lepší, než se kvůli jednomu špatnému prohlížeči držet „starého“ HTML, když práce s XML je podstatně jednodušší.

 

PS: Říkáte si co pořád má s tím XML? :)
Tyto stránky jsou generovány jako XML dokument, jen jsou před předáním transformovány do XHTML 1.1 (podpora XSLT v prohlížečích totiž prozatím není moc dobrá, to se ale jistě časem změní).

Publikováno 22. 11. 2007 1:55