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

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       8 033×

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á.

Reklama
Reklama

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 Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres HCPP16 pořádá od 30. září do 2. října nezisková organizace Paralelní Polis již potřetí, a to ve stejnojmenném bitcoinovém prostoru v pražských Holešovicích. Letos přiveze na třídenní konferenci přes 40 většinou zahraničních speakerů – lídrů z oblastí technologií, decentralizované ekonomiky, politických umění a aktivismu. Náměty jejich přednášek budou také hacking, kryptoměny, věda, svoboda nebo kryptoanarchie.

Reklama
Reklama
Obrázek ke článku ICT PRO školení zaměřené nejenom na ICT

ICT PRO školení zaměřené nejenom na ICT

Dovolte, abychom se představili. Jsme zaměstnanci společnosti ICT Pro, profesionálové v oblasti poskytování komplexních ICT služeb. Neboli služeb spojených s informačními a komunikačními technologiemi, které dnes - ve 21. století - tvoří  nedílnou součást běžného provozu všech moderních firem.

Reklama autora

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý