Javascript - je IE ve standardním nebo quirk módu?
Pracuji na maličké javascriptové aplikaci, kterou vám v nejbližších dnech představím a nabídnu ke stažení. Při jejím vývoji jsem objevil mnoho skrytých zákoutí, která javascript poskytuje. Narazil jsem však na problém – jak zjistit, jestli IE6+ běží v režimu zpětně kompatibility či v režimu standardním?
Tajuplný compatMode
Zkušení javascripteři vědí a s pohrdavým úsměvem odcházejí. Zbylému osazenstvu se musím přiznat, že jsem o existenci této vlastnosti neměl nejmenší tušení. Co vlastně dělá?document.write (document.compatMode);
Toto volání vypíše jednu ze tří možných hodnot:
CSS1Compat
je-li prohlížeč ve standardním
režimu, BackCompat
je-li v režimu zpětné
kompatibility a nejedná-li se o Operu či
QuirksMode
pakliže se jedná o Operu
v režimu zpětné kompatibility.
Koneckonců, vyzkoušejte si to sami: compatMode pro standardní mód a pro quirk mód.
K čemu to je?
Já to ve své tajuplné aplikaci používám pro jemnou ruční korekci hodnot document.body.scrollTop a document.body.scrollLeft, které ve standardním režimu IE uvádějí lehce jinou hodnotu, než by měly.Mimochodem, znali jste tuto vlastnost, nebo je pro Vás, stejně jako pro mne, úplně nová?