Furcsa IE bug

Volt ma egy furcsa jelenetem az IE-el... A problema 6,7,8 IE-nel jelentkezik (lejjebb nem mentem).

A problema:
Ha a karakterkodolast a

tag utan adom meg a headben a javascript 2x fut le. Es ami vicces az egeszben, hogy masodjara "eltunik" a IE7-8 nativ XMLHttpRequest tamogatas :(. Es ezt is csak akkor "csinalja", ha meg nem lett lecachelve az oldal.

Itt lenne a szabvany de ez senkit se erdekel:

The script element places a script within a document. This element may appear any number of times in the head or body of an XHTML document.

In an XML document, the character encoding of the document is specified on the XML declaration. ... In XHTML-conforming user agents, the value of the encoding declaration of the XML declaration takes precedence.

Szoval ha elosszor nyitom meg az oldalt akkor 2 alert fog megjelenni.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<?xml version="1.0" encoding="utf-8" ?>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<script type="text/javascript">alert("test");</script>

<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>

</head>

<body>

</body>

</html>

Igazabol a hiba eszrevehetetlen, ha csak functionok vannak deklaralva (azokat siman ujradeklaralja).

Ha a content-type ki van kuldve a headerben akkor minden ok.

Hatha egyszer majd segit valakinek ..

Hozzászólások

IE-ben mereven benne van, hogy az elso megerkezo informacionak a DOCTYPE-nak kell lennie. Ha nem az akkor az IE pl atvalt quirks modba es esetleg "hulyen" fog megjelenni az oldal: http://en.wikipedia.org/wiki/Quirks_mode . A http://www.w3.org/TR/xhtml1/#guidelines oldalon, le is irja hogy ha kompatibilis akarsz lenni ezekkel a cuccokkal, akkor kiveszed a xml fejlecet, es doctypepal kezded a egesz oldalt.

---
Apple iMac 20"
áéíóöőúüű

Igazabol figyelmen kivul kellene hagynia ("XML declaration takes precedence"), szoval az xml tagban levo encoding et kellene hasznalnia.

Ja es azt nem irtam le, hogy hogyan jott ki ez a hiba:

Ha a nativ XMLHttpRequest -et hasznalod (ie7-8) masodjara Access denied errort kapsz.

igy: <script>alert(new XMLHttpRequest());</script>

Szoval ha masodjara lefut mar nem tudja letrehozni.

Ha kulso filet hasnzalsz akkor is (ha meg megadod neki a charsetet is) :)
<script type="text/javascript" charset="utf-8" src="test.js"></script>