Internet Explorer 7.0 – snad si zvyknu!

4. února 2007

Programování

Včera jsem podlehl tlaku technologického pokroku a stáhnul jsem si dlouho očekávanou sedmou verzi nejpoužívanějšího internetového prohlížeče. Navzdory mému velmi kladnému vztahu k produktům Microsoftu jsem se stažením prohlížeče IE7 chvíli váhal. Věděl jsem proč.

V polovině prosince 2006 jsem využil možnosti vyzkoušení anglické verze IE7 na virtuálním stroji a od té doby vím, že to s novým prohlížečem zdaleka nebude tak skvělé, jak by být mohlo. Hlavním důvodem, proč jsem na IE6 v minulosti nikdy nedal dopustit bylo, že se v něm správně zobrazily všechny stránky. Bylo mi úplně jedno, jestli IE6 projde nebo neprojde nějakým pitomým ACID testem, podstatné bylo, že jsem měl skutečně univerzální internetový prohlížeč, pro který optimalizovali své stránky všichni.

Jenže IE7 tuto základní výhodu šestkové verze dobrovolně ztratil. Pro příklad nemusím chodit daleko – stačí se podívat na některé mé stránky. Starý pokec na Ujdeto.cz je rozhozený. IE7 má tendenci předstírat, že se jeho kompatibilita s CSS standardy zvýšila, a tak ignoruje tzv. podtržítkový hack. IE7 chce kód, který je určen FireFoxu nebo Opeře, ale neumí jej interpretovat stejně jako tyto prohlížeče. Ještě nevím, zda tuto chybu vůbec budu (nebo Ondra bude) opravovat, skoro by bylo lepší nasadit rovnou Pokec 5, ve kterém jsem podtržítkový hack již prozřetelně nepoužil.

Díky IE7 nemá smysl studovat CSS nijak do hloubky. Používání složitých (v některých prohlížečích jistě efektivních) konstrukcí a následná kastomizace stránek prostřednictvím různých triků a hacků není cestou k dokonalým stránkám. Samotný fakt, že ani po letech neexistuje žádný prohlížeč se 100% podporou CSS dokazuje, že je tento standard špatný a síla konsorcia W3C zanedbatelná. Má smysl používat jen základní vlastnosti CSS, které interpretuje 95 a více procent používaných prohlížečů, vše ostatní je cestou do pekel.

V galerii Sanderova.cz pro změnu v IE7 nefungovalo roztahování pop-up okna s obrázky v plné velikosti. Velikost okna se zkrátka najednou nehodlala přizpůsobit velikosti obrázku. Kořen problému byl v tom, že IE7 otevřel pop-up kdesi uprostřed obrazovky a při pokusu o nastavení správné výšky zjistil, že by se pop-up prostým roztažením dolu dostal spodním okrajem mimo obrazovku. Ačkoli by se dalo očekávat, že se v takovém případě IE7 pokusí požadavku na zvětšení okna alespoň částečně vyhovět, neděje se tak (IE6 klidně pop-up roztáhnul i mimo obrazovku). V praxi je nutné nejprve nastavit pozici pop-upu na místo, ze kterého se může nerušeně roztáhnout směrem doprava dolu. Osvědčilo se mi použití window.moveTo(0,0) (přesun doleva úplně nahoru), po následném nastavení velikosti pomocí window.resizeBy(x,y) ještě pro lepší efekt pop-up centruji opět prostřednictvím window.moveTo().

Nejděsivěji vypadající problém pro mě IE7 připravil v administraci internetového obchodu Allforsport.cz. Obsah v hlavním rámci začal najednou podivně mizet. Po načtení stránky se místo obsahu objevilo bílé nic. Stránka se v rámci prostě vůbec nevykreslila. Bylo mi to divné, tak jsem se rozhodl donutit IE7 překreslit rámec tím, že jsem zmenšil velikost okna prohlížeče. Obsah se vykreslil. Nicméně ani poté nebylo "vyhráno", jelikož je administrace postavená na AJAXu. Sebemenší nutnost překreslení stránky javascriptem (css hovery nevadily) vyústila opět v bílé nic. Pro všechny zájemce jsem připravil malé demo. Nevím, co přesně chybu způsobuje, nicméně odstranění overflow:hidden u elementu body se ukázalo jako uspokojivé řešení.

Co mi na IE7 dále vadí, to je výrazně rozdílné chování u stránek z důvěryhodné zóny. Standardně nelze pop-up otevřít bez adresního řádku, důvěryhodné stránky toto privilegium mají. Rovněž v kontrole chyb a míře otravování je IE7 u důvěryhodných serverů mírnější – v praxi to znamená, že je-li na stránce nějaký problém, často pomůže přidání stránky mezi důvěryhodné servery.

Rada z odstavce výše mi v prvním momentě pomohla u Mirandy, ve které doplněk IEView využívá pro vykreslování zpráv služeb Internet Exploreru. Po instalaci IE7 se začala při otevírání dialogu zobrazovat poměrně nepříjemná chybová hláška. Napadlo mě, že některý z plug-inů je patrně již zastaralý, a tak jsem v menu Mirandy dal stáhnout všechny dostupné aktualizace. Urodilo se jich od mé poslední kontroly mnoho, nicméně problém to nevyřešilo. Doplněk IEView se automaticky neaktualizoval na poslední verzi, která je v současné době 1.0.9.7. Máte-li po instalaci IE7 s Mirandou problém, stáhněte si aktuální verzi IEView a nepoužívejte radu přidání about:blank a localhost mezi důvěryhodné servery. Vyhnete se zbytečnému otravování při každém přechodu z důvěryhodné zóny do zóny internetu.

Pokud používáte stejně jako já velmi užitečný Google Toolbar, asi Vás příliš nepotěší přítomnost vyhledávání natvrdo integrovaného do IE7. V nastavení IE7 tuto zbytečnost překvapivě nelze nikde odstranit, je zapotřebí odborného zásahu do registru Windows. Co přesně kam vložit se dozvíte na IntelliAdmin.com, kde naleznete i prográmek, který editaci registru udělá za Vás.

Ačkoli bych rád na závěr napsal něco jako "Král je mrtev, ať žije král!", není to bohužel pravda. Časem patrně ocením taby (záložky), které se Microsoftu opravdu povedly. Rovněž mazání obsahu složky Temporary Internet Files je zvládnuto lépe než v IE6, kde mi počítač pravidelně na pár minut zamrznul. Tisk se určitě povedl, tedy až na lokalizaci (rozsypaný čaj místo diakritiky). Co se určitě nepovedlo je kompatibilita a způsob distribuce. IE7 se nechová jako nástupce IE6, ale spíše jako alternativa k IE6. Uživatelé IE7 budou nyní trpět stejnými problémy jako trpí uživatelé FireFoxu a Opery (ostatní internetové "prohlížeče" prominou). Je otázkou, zda se právě za této situace lidé na IE7 nevykašlou a nesáhnou raději po prohlížeči s hlasitějšími zastánci.

Pokud Vás zajímá, jaké libůstky přinese IE7 vývojářům, tak mám pro Vás smutnou zprávu - prakticky žádné. Ano, v oblasti CSS by se jistě dal nalézt určitý posun kupředu (třeba možnost dát hover i něčemu jinému než odkazu se může hodit), nicméně použitelný posun kupředu to nebude, když bude patrně ještě dlouho rozšířena i šestková verze s nezanedbatelným podílem. Javaskript přidává pouze nativní podporu pro XmlHttpRequest (nechápu proč, když jako ActiveX fungoval bez problémů a naprosto stejně) a pár metod pro obsluhu integrovaného vyhledávání z IE7 – až Vám budou nějaké pornostránky nabízet přidání své databáze do interního vyhledávání IE7, tak to je ono ;-)

Nejhorší na celé situaci je prognóza, která není příliš dobrá. Věřím, že se Microsoftu časem podaří vyladit IE7 tak, aby byl použitelný. Nicméně zdá se, že od nynějška bude zapotřebí dělat stránky čtyřikrát – jednou pro IE6, jednou pro IE7, jednou pro FireFox a jednou pro Operu (ano, i mezi FF a Operou jsou rozdíly). Tipuji, že za čas budou mít tyto prohlížeče každý zhruba 25% podíl na trhu. IE7 se nestane masovým prohlížečem a IE6 ještě dlouho z (minimálně českého) internetu nevymizí. Na zachování podílu IE6 se nepodepíše ani tak fakt, že by byl IE7 špatný prohlížeč, ale zejména nutnost ověření legálnosti Windows XP před instalací IE7.

Publikováno dne 04. 02. 2007 v kategorii Programování Odhadnutá klíčová slova BETA: ie7 | explorer | internet | velikost | ie6 | okna | hack | css | exploreru
Mohlo by Vás zajímat BETA: Chyba v Internet Explorer 7.0 s mizející session má řešení!

O kategorii Programování

V nejodbornější kategorii tohoto blogu jsou zařazeny články s mými programátorskými zkušenostmi získanými několikaletou praxí tvorby stránek a java aplikací pro mobilní telefony.

Komentáře k článku

POZOR: K článku zatím nebyl vložen žádný komentář, takže s velkou pravděpodobností nikoho neurazil, nikoho nepobavil a už vůbec nikomu nepomohl.

Přidat vlastní komentář:
Jméno:
E-mail:
Sledovat diskusi:
Web:
Kontrolní kód:

Komentáře jsou v prvé řadě určeny ke kladení dotazů k tématu, upozornění na chybu, rozšíření obsahu článku a vůbec ke zpětné reakci na obsah těchto stránek. Mé reakce jsou barevně odlišeny.

V současné době není umožněno vkládat HTML tagy - pokud vložíte HTML kód, bude převeden na entity. K Vašemu komentáři se do databáze uloží čas vložení a Vaše aktuální IP adresa (54.196.110.85). IP adresa se nebude zobrazovat čtenářům, nicméně v případě, že bude Váš odkaz shledán právně závadným, může být Vaše IP adresa předána příslušným státním orgánům. Emailové adresy jsou ochráněny před běžnými spam roboty.

© Marek Demčák 2007 - 2018
Všechna práva dle Autorského zákona (č. 121/2000 Sb.) vyhrazena.