Hack pro odlišení IE6 a IE7

17. ledna 2007 11:21
webové stránky

Včera v noci jsem nainstaloval novou verzi Internet Exploreru 7 v české verzi. Konečně je tady kvalitní nástupce…

V této verzi byla odstraněna spousta chyb v zobrazování internetových stránek a interpreteci jednotlivých norem pro tvorbu www stránek. Taktéž byl odstraněn oblíbený podrtžítkový hack, který vývojáři s oblibobou používali pro opravy chyb v interpretaci norem. Je to v pořádku, neboť tímto hackem bylo často řešeno spousta neduhů starších verzí Internet Exploreru, které jsou v IE7 již opraveny.

Jenže ouha…

Byl jsem velmi potěšen, když jsem se podíval na jedny ze svých posledních www stránek. Při jejich tvorbě jsem již neměl sílu si hrát s každým malým designovým prvkem, tak aby se zcela stejně stránky zobrazovaly v IE a všech ostatních prohlížečích. Stránky vypadaly ve své podstatě na všech prohlížečích stejně až na některé drobné odlišnosti, ale to klientovi nevadilo, takže v tom problém nebyl. V Internet Exploreru 7 se konečně zobrazují ve své plné kráse :o) Až na jednu drobnost. Z nějakého divného důvodu si stránky usmyslely, že v jednom místě posunou jeden box, tak jako to dělaly staré verze IE bez použití hacku. No a s ohledem na to, že IE7 již podtržítkový hack ignoruje, tak se stránka v jednom místě rozjela.

Naštěstí IE7 zrušil pouze podtržítkový hack, a tak tu zbyla možnost jak odlišit i novou verzi IE7. Naštěstí tuto volbu nebudeme příliš často potřebovat, neboť IE7 téměř všechny své chyby na poli běžně používaných věcí zcela odstranila.

A jak na to?

Stačí do definic CSS místo podtržítka uvést nějaký jiný speciální znak, např. &

Takže snadné rozlišení:
[všechny standardní prohlížeče (včetně IE7)]
nazevVlastnosti: hodnota;
[IE6]
_nazevVlastnosti: hodnota;
[IE7]
&nazevVlastnosti: hodnota;

jerrysohn | rss kanál komentářů

Komentáře

  1. 17. ledna 2007 12:30 | vložil: wnc | e-mail | web

    Já tydle podtržítkový a jinoznakový hacky moc nemusim. Protože se pak může objevit nějakej prohlížeč, kterej to bude interpretovat nějak úplně jinak. Čistší způsob mi přijde použití tzv. podmíněných komentářů více na http://www.dgx­.cz/…m-komentarem

  2. 17. ledna 2007 13:25 | vložil: Plaváček | e-mail | web

    Jednoznačně podmíněný komentář a IE7 poslat také do quirku, pokud je to možné. Tyhle opičárny do CSS nepatří.

  3. 17. ledna 2007 13:46 | vložil: Tomáš Kučera | e-mail | web

    Jednoznačně doporučuji dát IE do quirku, v něm se mi weby zobrazují stejně v IE 5 až v IE 7 – bez problémů. V nejhorších případech jen malé řešitelné problémy.

  4. 17. ledna 2007 14:06 | vložil: kolouch | e-mail | web

    Ja tedy nevim, co vsichni maji s quirk rezimem, ale moje weby se zobrazuji ve standardnim rezimu krasne v IE 6 + IE 7, Firefox i Opera. Na nejaky IE 5 + 5.5 uz jsem prestal myslet, protoze dle statistik jak ruznych jinych, tak mych, uz tyto zastarale prohlizece pouziva tak male procento lidi, ze se spis vyplati je objet autem a nainstalovat jim tam alespon ten IE 6 :-)

  5. 17. ledna 2007 14:21 | vložil: wnc | e-mail | web

    já osobně do quirku radši moc nelezu… nefunguje mi tam třeba margin-left: auto; margin-right: auto pro centrování na střed.

  6. 17. ledna 2007 15:13 | vložil: Jerrysohn | e-mail | web

    Osobně si myslím, že je lepší se quirk režimu raději vyhýbat je-li to možné a pohybovat se ve standardním režimu.

  7. 17. ledna 2007 15:23 | vložil: Plaváček | e-mail | web

    Já osobně si myslím, že quirk režim má spoustu nepopiratelných výhod, které oceníte v okamžiku, kdy stavíte velký web (typicky portál), kde procento uživatelů s IE 5 a IE 5.5 je stále relativně vysoké.

  8. 17. ledna 2007 15:40 | vložil: dgx | e-mail | web

    Nerad bych se pletl, ale použití jiného znaku než podtržítka (např &) by mělo platit nejen pro IE7, ale i pro starší verze. Takže je nejprve třeba uvést &pravidlo a poté _pravidlo.

    (jen se divím, že zatím žádný komentující nezanaříkal nad nevaliditou ;-) )

  9. 17. ledna 2007 15:56 | vložil: kolouch | e-mail | web

    Ano u portalo je mozne, ze uzivatelu s IE 5 + 5.5 je vyssi nez u jinych webu, ale internetova gramotnost taky stoupa a jak to vidim na nekterych klientech, sami si nainstaluji novejsi verzi, kdyz jim reknu, ze ie 5 + 5.5 je deravy a zastaraly. Takze ja jdu na to osvetove at je prace webdesigneru do budoucna jednodussi :-) Proste pokud tem opravdu „zastaralym strukturam“ nekdo opravdu nerekne, ze to nemaji pouzivat, tak je to ani nenapadne. A bohuzel (nastesti) je dost velke procento webu spatne zobrazitelnych v techto historickych prohlizecich a samotne uzivatele to uz prece musi stvat, ze maji jen rozhazene stranky. Ve standard rezimu mam validni jak xhtml tak css. Nepouzivam zadne hacky. Vim, ze validita neni vsespasna, ale znate to .. uz jen ten pocit :-)

  10. 17. ledna 2007 16:05 | vložil: gwh | e-mail | web

    Tady je to rozvedeno Chamurappim trochu víc: http://www.lu­pa.cz/…t-modreho-e/

    Jinak jsem také zastáncem quirku a podmíněných komentářů a dost dobře nechápu, proč se řeší, jestli má dnes IE 5.5 jedno či dvě procenta. Vždyť když si shodím IE do quirku, tak v 95 % případů není mezi zobrazením v 5.5, 6 a 7 rozdíl.

  11. 17. ledna 2007 17:35 | vložil: Petr Vaclavek | e-mail | web

    Taky nedam na QUIRK dopustit – chyby ktere obsahuje jsou uz par let plne zdokumentovane a jejich reseni je pomerne zname, takze ma tak clovek vetsi jistotu, ze to funguje napric IE 5 az 10 :) a nemusi se trapit tema novyma chybama :)))

  12. 17. ledna 2007 18:24 | vložil: Plaváček | e-mail | web

    A já ještě dodám, že jsem ve standardním režimu IE7 objevil pár zajímavých bugů. Snad bude chvilku čas a blognu to.

  13. 17. ledna 2007 19:37 | vložil: hotovson | e-mail | web

    otazka pro zastance QUIRKu – co se stane s takovymi weby, az prijde IE8, ze zvyku bude obsahovat stare chyby, ael jako novinku zrusi QUIRK? co pak?

  14. 17. ledna 2007 20:51 | vložil: Plaváček | e-mail | web

    Nic takového nestane a ani nemůže. Stačí to jako odpověd?

  15. 17. ledna 2007 23:58 | vložil: rarouš | e-mail | web

    Jsem rád, že tenhle příspěvek rozvířil zasmrádlé vody na weblogy.cz ;) Díky Ondo za pochopení :)

  16. 18. ledna 2007 7:06 | vložil: Jerrysohn | e-mail | web

    rarouš[15] Abych pravdu řekl, tak jsem nečekal, že právě tenhle příspěvek takhle moc rozjede diskuzi. Ale je to fajn, vidět, že to lidem není úplně jedno :o)

  17. 18. dubna 2007 10:28 | vložil: Grifin | e-mail | web

    Mate pravdu pokud pouzivate Quirk rezim je to skoro stejne jako pouzivat IE 5. Hmm tak me napada proc se vlastne vyvijeji nove a nove definice CSS a proc se nekdo vubec snazi jit dal. No nic, kazdy ma nazor, ja si myslim ze je jedine spravne reseni mod STRICT a donutit IE aby konecne vzal deklarace CSS za sve.

  18. 23. srpna 2009 14:55 | vložil: Dan | e-mail | web

    V IE 7 platí pouze podtržítkový hack, jiný znak si nepřivlastní za svůj. ostatní verze chápou znaky / &, pouze verze 7 je vyjímka, každopadne dekuji, pomohlo mi to

  19. 24. srpna 2009 9:14 | vložil: Jerrysohn | e-mail | web

    Dan[18] Jsem rád, že Vám to pomohlo, ale i nadále jsem přesvědčen o tom, že IE7 již znak „_“ nebere, zato například znak „&“ ano. A pro doplnění, IE8 již správně ignoruje všechny vlastnosti obsahující jakýkoliv z těchto znaků v názvu vlastnosti a chová se tedy tak, jak by měl správný prohlížeč.

Nový komentář







kód pro ověření

Povinné je jméno, text komentáře a kontrolní kód.

Komentář je formátován pomocí Texy! syntaxu. Například: **tučný text**, *kurzíva*, "text odkazu":adresa.
Internetové adresy jsou převáděny na odkazy automaticky.

Na komentáře se můžete odkazovat pomocí [číslo komentáře].

nahoru | na titulní stranu | redakce | provozováno na redakčním systému Gryphoon Weblog v1.82 (1.82.4250.18001)