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       9 381×

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

Reklama
Reklama
Obrázek ke článku Blockchain & Bitcoin konference

Blockchain & Bitcoin konference

V pátek 19. 5. 2017 se v pražském konferenčním centru Andel’s konala Blockchain & Bitcoin konference. Řada odborníků a podnikatelů v oboru blockchainu a kryptoměn představila možnosti budoucího směřování tohoto oboru. Speakeři většinou rusky mluvící provenience prezentovali řešení svých firem založená na technologii blockchainu.

Obrázek ke článku Malware KONNI se úspěšně skrýval 3 roky. Odhalil ho bezpečnostní tým Cisco Talos

Malware KONNI se úspěšně skrýval 3 roky. Odhalil ho bezpečnostní tým Cisco Talos

Bezpečnostní tým Cisco Talos odhalil celkem 4 kampaně dosud neobjeveného malwaru, který dostal jméno KONNI. Ten se dokázal úspěšně maskovat od roku 2014. Zpočátku se malware zaměřoval pouze na krádeže citlivých dat. Za 3 roky se ale několikrát vyvinul, přičemž jeho současná verze umožňuje útočníkovi z infikovaného počítače nejenom krást data, ale i mapovat stisky na klávesnici, pořizovat screenshoty obrazovky či v zařízení spustit libovolný kód. Pro odvedení pozornosti oběti zasílali útočníci v příloze také obrázek, zprávu a výhružkách severokorejského režimu či kontakty na členy mezinárodních organizací.

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 © 20032017 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý