Internet Explorer? Ne! Je čas na změnu.

Zprávy z IT 18 Září 2011 | 1 Komentář | 287 shlédnutí

Vývoj webových stránek jde obrovskou rychlostí kupředu, ale některé věci zůstávají stále neměnné. Snad každý, kdo kdy navrhoval a programoval web, si prošel podobným scénářem jako je tento – nejdříve navrhnete líbivý design. Když jste s ním spokojeni, začnete s jeho kódováním. Vše jde hezky od ruky, všechny prohlížeče zobrazují stránku tak, jak mají a když je práce hotova, sami sobě si gratulujete. Pak přijdete na prezentaci ke klientovi – a ten má nainstalovaný jediný prohlížeč – IE6.

Internet Destroyer

Internet Destroyer

Hororový scénář jako vyšitý. Pokud stránka vypadá v IE6 stejně jako v moderních prohlížečích, pak pro vás mám špatnou zprávu – asi žijete v Matrixu a to, co vidíte, není reálné. Spíše ale budete mít před očima něco naprosto jiného, než co vám ukazuje např. Google Chrome nebo nejnovější Firefox. Pak si zcela jistě začnete klást otázku – proč? Proč někdo používá Internet Explorer? Odpovědí může být několik.

1. Protože musí

V roce 2011 to bude jedna z nejpravděpodobnějších možností.  Staré verze IE jsou často používány ve velkých firmách, kde je sebemenší změna problematická. Perfektním příkladem jsou úřady, kde často pracují stovky zaměstnanců a provést změnu u každého z nich by bylo časově moc náročné vzhledem k relativně nízkému přínosu. Často nemají zaměstnanci dostatečná práva na to, aby si mohli nainstalovat lepší prohlížeč a tak jsou odkázání na pospas tomu, co dostali k dispozici.

2. Protože mají starý počítač

Pro jakýkoliv operační systém starší než Windows XP je Internet Explorer 6 nejnovější možnou verzí. Microsoft tyto systémy oficiálně nepodporuje a proto ani nenabízejí možnost aktualizací.

3. Protože nemají rádi změnu

Někteří lidé si na IE prostě zvykli. Nové verze mají do značné míry změněné uživatelské prostředí, které některé uživatele doslova děsí. Zvlášť u starších lidí hrozí vyšší riziko používání zastaralých prohlížečů jednoduše proto, že nechtějí nic měnit.

Dobré (ale obtížné) řešení

Nejdříve si uvědomte, zda je vaše stránka důležitá pro lidi, kteří mohou být zastaralým prohlížečem limitováni – zejména tedy pro starší lidi, pracovníky úřadů, škol či větších podniků. Pokud ano, máte více méně dvě možnosti.

1. Vytvoříte podmínečné CSS pro IE, ve kterém opravíte elementy, se kterými má prohlížeč problémy.

<!--[if lt IE 9]> <!--podmínka pro IE starší než IE 9. Dá se také napsat např. if IE 6, kdy vybereme pouze IE6-->
<link rel="stylesheet" type="text/css"  href="styly-pro-ie.css"/> <!--odkaz na CSS soubor. Je možné také napsat klasické <style type=“text/css“></style> a mezi tagy napsat konkrétní styly bez odkazu na externí CSS.-->
<![endif]--> <!-- ukončení podmínky, vždy stejné -->

2. Vytvoříte odlehčenou variantu stránky, na které budou zobrazeny pouze podstatné textové informace s minimem stylování a tagů. Stránka sice nebude vypadat moc hezky (ale na to jsou uživatelé IE6 už stejně zvyklí), ale uživatel se k informacím dostane. A to je hlavní.

Pokud pro vaši stránku není tak důležitá dříve zmíněná cílová skupina, bylo by vhodné dát návštěvníkům dát vědět, že jejich prohlížeč není podporován. Ještě lepší variantou potom může být přesměrování na stránku, která jim nabídne odkazy pro stažení moderních prohlížečů. Následující PHP script přesměruje všechny uživatele s IE verze 7 a níže na specifickou stránku podle vašeho určení:

function detect_ie() //funkce pro detekci IE
{
  if (isset($_SERVER['HTTP_USER_AGENT']) &&  (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false))
    return true;
  else
    return false;
}

function verze_ie() {  //detekuje verzi IE, vrací číslo verze nebo -1, pokud nejde o IE
 $match=preg_match('/MSIE ([0-9]\.[0-9])/',$_SERVER['HTTP_USER_AGENT'],$reg);
 if($match==0)
   return -1;
 else
   return floatval($reg[1]);
}

if (detect_ie() && verze_ie() < 8 ) { //pokud je prohlížeč IE a zároveň je jeho verze menší než 8…
  header('Location: /unsupported.php'); //pošle hlavičku s odkazem na jinou stránku
} 

Jiné, zákeřnější (ale jednoduché) řešení

Nezajímají vás staré IE ani jejich uživatelé a nechce se vám vytvářet stránky s náhradním obsahem? Existuje trik, který IE při návštěvě vaší stránky jednoduše shodí. Tento script funguje pro všechny verze IE, dokonce i relativně novou verzi IE9 (relativně, protože už je na světě IE 10). O celou věc se stará jednoduchá řádka JavaScriptového kódu, která zacyklí prohlížeč, který následně přestane reagovat. Starší verze spadnou rovnou, IE9 pouze přestane reagovat a je stejně nutné ho násilně ukončit. Moderní prohlížeče pochopitelně následující kód naprosto ignorují.

<script>for(x in document.write){document.write(x);}</script>

Koho tedy vinit? Vývojáře webů samotné!

Staré prohlížeče tady jsou. Jejich podíl stále klesá, ale stále se drží. A proč? Protože na nich stránky pořád fungují. V konečném důsledku je tedy chybou vývojářů, že udržují tyto prohlížeče stále živé. Kdyby se na každé 10 stránce místo obsahu objevil onen script, který způsobí pád nebo alespoň informace o neaktuálnosti prohlížeče, IE6 a 7 by se dost možná mohlo přestat používat úplně, neboť ani ti nejzarputilejší uživatelé by nedokázali takovémuto tlaku odolávat. A všem vývojářům by ubyl jeden velký problém.

Štítky: ,

Jedna reakce k “Internet Explorer? Ne! Je čas na změnu.”

  1. em napsal:

    Takhle to dělá MS – prostě modernizuje a kdo nejde s dobou, má smůlu.

Zapojte se do diskuze

Sdělte ostatním co si o tomto článku myslíte. Komentováním navíc získáte i nové návštěvníky vašich webových stránek.