Flash cross browser bez bolehlavu
Často webdesigner řeší problém s vložením flash animace do svého webu. Flash je specifický objekt, který se v napříč prohlížeči implementuje trochu odlišně. Existuje však způsob, jak flash do svého webu dostat aniž byste s tím strávili mládí.
Jak se tedy vyhnout šíleným konstrukcím a pomocným pluginům typu swfobject?
I když má každý z pluginů své opodstatnění (o tom nebudeme polemizovat), existuje možnost jak flash do stránky vložit například z uživatelského editoru a nebo pomocí připraveného administračního nástroje.
Následující kód vloží do stránky správně flash objekt (za předpokladu, že správně upravíte velikost scény).
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="300" height="300" id="vase_id" align="middle"> <param name="allowScriptAccess" value="sameDomain" /> <param name="allowFullScreen" value="false" /> <param name="movie" value="vas-flash.swf" /> <param name="quality" value="high" /> <param name="bgcolor" value="#ffffff" /> <embed src="vas-flash.swf" quality="high" bgcolor="#ffffff" width="300" height="300" name="vase_id" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" /> </object>
Tento kód funguje v nejběžnějších prohlížečích naprosto bezpečně, alespoň v projektech od 24DEVELOPMENT.
Vložení bez "embed"
Občas je nutné vyhnout se "embed" objektu, který do stránky vkládáme. Abychom zajistili funkčnost a chod flashového objektu, použijeme následující konstrukci. Je jednoduchá a opět univerzální.
<object data="vas-flash.swf" type="application/x-shockwave-flash" id="myflash" width="300" height="300"> <param name="movie" value="vas-flash.swf" /> <param name="bgcolor" value="#ffffff" /> <param name="height" value="300" /> <param name="width" value="300" /> <param name="quality" value="high" /> <param name="menu" value="false" /> <param name="allowscriptaccess" value="samedomain" /> </object>
A co když přes flash chci zobrazit plovoucí menu?
Častý problém, který webdesigner řeší je z-index a flash objekt. Noční můra a v danou chvíli neřešitelný problém. Avšak řešení existuje, není sice 100%, ale dá se pro nejběžnější prohlížeče použít. Jde o vlastnost wmode, kterou ovlivňujeme způsob zobrazení flash objektu (obvykle kvůli transparency).
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="300" height="300" id="vase_id" align="middle"> <param name="allowScriptAccess" value="sameDomain" /> <param name="allowFullScreen" value="false" /> <param name="movie" value="vas-flash.swf" /> <param name="quality" value="high" /> <param name="bgcolor" value="#ffffff" /> <param name="wmode" value="transparent" /> <embed src="vas-flash.swf" wmode="transparent" quality="high" bgcolor="#ffffff" width="300" height="300" name="vase_id" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" /> </object>
Pokud používáte embed objekt, nezapomeňte vložit wmode i do něj.
A nebo bez použití (zastaralého) embed objektu:
<object data="vas-flash.swf" type="application/x-shockwave-flash" id="myflash" width="300" height="300"> <param name="movie" value="vas-flash.swf" /> <param name="bgcolor" value="#ffffff" /> <param name="height" value="300" /> <param name="width" value="300" /> <param name="quality" value="high" /> <param name="menu" value="false" /> <param name="wmode" value="transparent" /> <param name="allowscriptaccess" value="samedomain" /> </object>
Existuje mnoho způsobů, jak flash do webu dostat, avšak podle mého názoru je lepší se vyhnout JavaScriptovým nástrahám, když to stejné můžete zabezpečit velmi jednoduše pomocí výše uvedených konstrukcí.
