Archiv pro štítek: internet explorer

Vliv automatických aktualizací na podíl prohlížečů

Na backendu jedné aplikace mám pro sledování provozu zapnuté Google Analytics. Sice se do ní nepřihlašuje velké množství uživatelů, ale rozhodně je zajímavé sledovat, jaké technologie používají tito uživatelé. Minimálně pro to, abych věděl, na jaké prohlížeče či rozlišení se specializovat při dalším vývoji.

Při poslední kontrole používaných verzí prohlížečů mně zaujal poměr jednotlivých verzí.

statistika prohlížečů

 

Na tomto grafu je opravdu výrazně vidět to, jak velký vliv má automatická aktualizace prohlížeče. Vezměmě to postupně.

Firefox a Chrome

Proběhlo vydání nové verze, takže jsou souběžně uvedeny dvě. Ale během velmi krátké doby starší verze úplně vymizí a na její místo nastoupí nová.

Opera a Safari

Nepoužívá je tolik uživatelů a nevydávají tak často nové verze, proto je započítána pouze jedna verze od každého prohlížeče. Ale v případě vydání nové verze by průběh byl podobný jako u předchozích dvou.

Internet Explorer

Jsou započítány 4 různé verze prohlížeče. Verze 10 pozvolna získává vyšší podíl, ale spíše na úkor verze 9 než starších verzí. Oproti starším verzím Internet Exploreru má ale desátá verze subjektivně rychlejší nástup. Domnívám se, že verze 9 na předních pozicích statistiky nebude figurovat. Je to sice poslední verze, která funguje pod Windows Vista, ale tento operační systém nemá moc velký podíl. Horší je to s verzemi 8 a 7. Toto jsou poslední verze, které fungují pod Windows XP. Osobně nechápu, co vede uživatele k použití tohoto prohlížeče. Už z toho důvodu, že většina velkých aplikací pod těmito prohlížeči odmítá fungovat nebo funguje špatně, takže je použití tohoto prohlížeče poněkud omezené.

Jsem velice zvědav, jak bude vývoj dále probíhat. Pokud pomineme IE, tak máme vždy velkou jistotu, že bude mít uživatel nejnovější verzi svého prohlížeče. Co se týče Internet Exploreru, tak dva největší problémy jsou ty, že nové verze nepodporují starší verze Windows a chybějící, respektive méně aktivní automatické aktualizace.

 

JavaScript: nextSibling v Internet Exploreru 9

Ve starší verzi Internet Exploreru (8 a starší) funguje následující kód tak, že spočítá počet buněk (TD elementů) v řádku tabulky.

while(selector_bunek_tabulky.nextSibling)
 {
   celkovy_pocet++;
   selector_bunek_tabulky=selector_bunek_tabulky.nextSibling;
}

Naproti tomu v IE9 (jiné prohlížeče jsem netestoval) spočítá 2x tolik elementů, protože jsou započítány i konce řádků a obsah (některých – nemám plně ověřeno) buněk. Řešení je následující:

while(selector_bunek_tabulky.nextSibling)
 {
 // pokud se jedna o ELEMENT_NODE
 if (selector_bunek_tabulky.nodeType==1)
   celkovy_pocet++;
selector_bunek_tabulky=selector_bunek_tabulky.nextSibling;
}

Přehled typů uzlů lze zjistit na http://www.javascriptkit.com/domref/nodetype.shtml.

 

 

 

Překrytí Flashe klikatelným odkazem

Následující kód by měl zdánlivě fungovat tak, že na div #banner je embedováno pomocí SWFObjectu Flash video.

<a onclick="funkce();" href="javascript:;"><div id="banner"></div></a>

Přes něj je ale ještě odkaz, takže při kliknutí nad tento Flash doje k zavolání funkce funkce(). Toto funguje ve všech prohlížečích (které jsem zkoušel – Opera, Firefox), ale nefunguje v Internet Exploreru (ani verze 9).

Je nutné nastavit odkazu pozadí, nestačí ovšem background:transparent; jak by bylo očekávatelné, ale je nutné nastavit background: url(obrazek.gif);. Na pozadí tedy musí být obrázek, co je ještě podivnější, tento obrázek nemusí vůbec existovat`takže není nutné vytvářet průhledných GIF. Dále je nutné odkaz napozicovat absolutně a HTML kód zapsat takto:

<a onclick="funkce();" href="javascript:;"></a><div id="banner"></div>

Potom je možné zavolat kliknutím na video Javascriptovou funkci ve všech prohlížečích, včetně Internet Exploreru.

Microsoft Outlook 2007 – Nemožnost otevřít odkazu v emailu

Pokud se při kliknutí na odkaz v emailu v aplikaci Microsoft Outlook 2007 zobrazí chybové hlášení „Operace byla zrušena z důvodu omezení platných pro tento počítač. Obraťte se na správce systému. “ a není možné otevřít tento odkaz kliknutím, je možné opravit pomocí tohoto Fix It řešení - http://support.microsoft.com/kb/310049/cs.

Tip: rozměry okna prohlížeče

Jen krátký tip pro zjištění rozměrů okna prohlížeče za pomocí knihovny jQuery:

$(document).width();
$(document).height();

Pomocí obyčejného JavaScriptu to sice jde, ale narazil jsem na nepřesné hodnoty v některých prohlížečích a je k tomu potřeba několik řádků kódu. Toto řešení je jednoduché a funguje ve všech majoritních prohlížečích.

Zavření okna prohlížeče bez dotazu

Pokud chcete pomocí Javascriptu (příkazem window.close();) zavřít okno prohlížeče, tak Internet Explorer zobrazí dotaz, zda toto okno chcete opravdu zavřít. Toto chování je pro návštěvníky webu poměrně otravné. Řešení kolují na různých fórech hromady. Jediné, které mi opravdu funguje je následující:

window.open('', '_self', ''); 
window.close();

Toť vše, tyto dva řádky stačí pro zavření okna. Není to sice ideální řešení, ale nic jiného nefunguje. Nebo víte o lepší možnosti?