Autor Zpráva
user243
Profil
Ahoj,
zajímalo by mě, jak je to s podporou document.body pro IE?
někde jsem četl, že IE8 tuto metodu nepodporuje a je potřeba použít document.getElementsByTagName('body')[0], i když mně v IE8 ve standardním módu funguje oboje a tady Chamurappi doporučuje už 4 roky používat document.body;
díky.
Joker
Profil
user243:
někde jsem četl, že IE8 tuto metodu nepodporuje
Tak on to je atribut, ne metoda. Ale zjevně se to tvrzení nezakládalo na pravdě, udělal jsem rychlý test a funguje to v IE8 i IE10 ve standardu i v quirku.

(Jedna zajímavost, document.body není funkčně úplně totožné s document.getElementsByTagName('body')[0], na stránce s rámy document.body vrátí prvek <frameset>)
Chamurappi
Profil
Reaguji na usera243:
někde jsem četl, že IE8 tuto metodu nepodporuje
Kde?
Pokud vím, tuto vlastnost zavedl Explorer ve verzi 4 a ostatní prohlížeče se přizpůsobily během následujících tří let. Žádné problémy s ní nikdy nebyly, ani v quirku, ani ve standardním režimu…
user243
Profil
aha, takže je to blbost;
zmínku o tom jsem našel tady

edit:
je tedy jistější použít document.getElementsByTagName('body')[0], když nevím, jestli se někdy v budoucnu na stránce nějaký ten rám neobjeví?
Joker
Profil
user243:
To je docela komická hláška: Standards defying browsers like IE8 do not support document.body.
Vzhledem k tomu, že s document.body -pokud vím a jak píše i Chamurappi- naopak původně přišel IE.
Chamurappi
Profil
Reaguji na usera243:
když nevím, jestli se někdy v budoucnu na stránce nějaký ten rám neobjeví?
Ono je možné, abys nevěděl, jestli se stránka promění ve <frameset>? To by nebyl nějaký ten rám, ale popis rozdělení stránky na svislé a vodorovné rámy, který by byl místo <body>. Tudíž po takové přeměně bys metodou document.getElementsByTagName('body')[0] nejspíš nenacházel nic. (Nebo bys našel <body> uvnitř <noframes> bloku, který je určený pro prohlížeče neznající rámy.)


Reaguji na Jokera:
Také mě to pobavilo. A sedm lidí mu to krásně oplusovalo, aniž by zkoumali, jestli je na tom špetka pravdy.
user243
Profil
jn, to byla zase moje blbost

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: