Změna chování Flashe v MSIE
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Změna chování Flashe v MSIEZměna chování Flashe v MSIE

 

Změna chování Flashe v MSIE

Google       Google       21. 4. 2006       13 075×

Microsoft čelí žalobě firmy EOLAS kvůli jistým softwarovým patentům a i když soudní spor zatím neskončil, soud Microsoftu předběžně nařídil, aby změnil chování ActiveX prvků v prohlížeči MSIE, kterého se patent týká.

Microsoft vydal update, který je součástí automatických aktualizací, a ten mění chování MSIE. Co přesně? Prvky ActiveX se na stránce zaktivní až po kliknutí myši. Například takový Flash banner se animuje, ale pro interakci s uživatelem je jej nutné nejdříve aktivovat kliknutím a až poté můžete kliknout (provést akci), je tedy nutné kliknout 2×. Ale kolik uživatelů asi odradí, když kliknou a nic se nebude dít?

Samozřejmě náprava je možná, ale kolik webmasterů ji bude muset asi provést na desítkách tisíc stránek, scriptů a aplikací, aby prvky ActiveX fungovaly opět korektně?

Jsou 2 možnosti nápravy, které zvěřejňuje šéf-webmaster Seznamu Chose na svém blogu:

Řešení 1 – vložení objektu přes externí skript

Pokud je do stránky ActiveX objekt vložen z externího javascriptu, vše funguje bez problému.


<!-- HTML stránka -->
<html>
<body>
<script type="text/javascript" src="embed.js"></script>
</body>
</html>

// externí javascript
document.write('<embed src="flash.swf"></embed>');

Řešení 2 – externí znovuvložení pomocí outerHTML nebo innerHTML

Pokud je daný flash ve stránce „natvrdo“, je možné ho znovu vložit pomocí externího JavaScriptu. S tímto řešením přišel David Grudl, popisuje ho na svém blogu.

Do stránky jednoduše nalinkujete externí javascript, který se načte pouze v IE (podmíněné komentáře) a až po načtení HTML kódu stránky (vlastnost defer) se v cyklu projdou veškeré objekty a znovu se vloží.


<!-- HTML stránka -->
<html>
<head>
<!--[if IE]>
<script type="text/javascript" src="fix_eolas.js" defer="defer"></script>
<![endif]-->
</head>
<body>
<embed src="flash.swf"></embed>
</body>
</html>

Aby byl skript opravdu univerzální, musel být drobně rozšířen:


// (c) David Grudl aka -dgx-
//
// more info: http://www.dgx.cz/knowhow/eolas-workaround/
//
// updated by Josef Šíma - Chose
// 
http://www.chose.cz/weblog/index.php/jak-obejit-nefunkcni-flashe-po-aktualizaci-ie/
//
var aXobjects = new Array("object","embed","applet");
for (var x=0; x<aXobjects.length; x++) {
var objects = document.getElementsByTagName(aXobjects[x]);
for (var i=0; i<objects.length; i++) {
objects[i].outerHTML = objects[i].outerHTML;
}
}

Takto upravený skript má drobnou nevýhodu – pokud ve stránce máte flash vložený přes object s embedem, dojde ke dvojitému znovuvložení (jednou výměna object, podruhé výměna embed). Ošetřit to je seice možné, ale to už záleží na vaší šikovnosti. Nebo můžete použít jednodušší (původní) verzi skriptu od Davida Grudla.

Dále je nutné si dát pozor na správně nastavenou cache na serveru, protože pokud by daný soubor nebyl správně uložen u klienta, tak by se po znovuvložení opět stahoval ze serveru.

Je nepříjemné, že odstranit toto omezení jde pouze pomocí externího skriptu, tudíž pokud obsah výše uvedeného skriptu vložíte inline na konec stránky, tak i po jeho vykonání budou objekty stále neaktivní. Nicméně řešení existuje, není to sice nic hezkého, ale mohlo to být horší.

Další informace najdete zde:

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Lukáš ChurýLukáš je šéfredaktorem Programujte, vyvíjí webové aplikace, fascinuje ho umělá inteligence a je lektorem na FI MUNI, kde učí navrhovat studenty GUI. Poslední dobou se snaží posunout Laser Game o stupeň výše a vyvíjí pro něj nové herní aplikace a elektroniku.
Web     Twitter     Facebook     LinkedIn    

Nové články

Obrázek ke článku Hybridní inteligentní systémy 2

Hybridní inteligentní systémy 2

V technické praxi využíváme často kombinaci různých disciplín umělé inteligence a klasických výpočtů. Takovým systémům říkáme hybridní systémy. V tomto článku se zmíním o určitém typu hybridního systému, který je užitečný ve velmi složitých výrobních procesech.

Obrázek ke článku Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

Reklama autora

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý