Pokud máte na svém webu reklamu třetích stran, většinou bude implementována jako IFRAME a v něm Flash či text či přímo jako Flashový OBJECT. A protože tuto reklamu dodávají třetí strany a špatně používají WMODE, tak při použití Lightbox skriptů pro zvětšování fotek dochází k tomu, že Flash reklama překryje zvětšenou fotku.
Vypadá to nějak takto:
Lightbox překrytý Flash reklamouVětšina Lightbox skriptů naštěstí má i onLoad a onClosed události, na které můžete navěsit to, že tuto reklamu prostě schováte při otevření náhledu přes CSS visibility:hidden a po zavření Lightboxu obnovíte. Pokud nepoužíváte na svém webu IFRAME a OBJECT prvky, můžete v případě Colorboxu (založeného na jQuery) vše implementovat třeba takto triviálně - důležité jsou ty tučné části:
$(document).ready(function(){ $("a[rel='colorshow']").colorbox( {
slideshow:true,
slideshowAuto:false,
maxWidth:'95%',
maxHeight:'95%',
scalePhotos:true,
onOpen: function(){$('object,iframe').css('visibility','hidden');},
onClosed: function(){$('object,iframe').css('visibility','visible');}
} ); });
Flash je na chvíli pryč
Elegantni reseni, ktere si poradi i s iframy, dik.
Pokud je pripadny Flash vkladan primo jako OBJECT, da se i jednoduseji vyresit (pre)nastavenim wmode parametru:
<param name="wmode" value="transparent" />
[1] WMODE v článku zmiňuji, ale většinu Flashových reklam nemáš pod kontrolou, dodávají je skripty třetích stran, takže to není řešení.
Díky, opravdu jednoduché a užitečné řešení.