我有一些Flash广告(与swfobject一起安装),它们的顶部有一个HTML链接。我正在使用wmode透明,它可以在Mac上的每个浏览器中正常工作,例如PC上的/ chrome / ff(在win7上查看)链接落后于闪存。
我也试过wmode = opaque无济于事。
这是HTML:
<a href="$Link" class="overlay"></a>
<div class="flashContainerSml">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="125" height="125">
<param name="movie" value="$Flash.URL" />
<param name="wmode" value="transparent" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="$Flash.URL" width="125" height="125">
<param name="wmode" value="transparent" />
<!--<![endif]-->
<p>no flash</p>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</div>
和适当的css
#sideBar .smallAd .overlay { position: absolute; top: 0; left: 0; z-index: 9999; width: 100%; height: 100%; }
答案 0 :(得分:1)
是否有特定原因导致按钮/链接不在swf本身?在那样的swf上堆叠一个按钮是不好的做法(正如你已经发现的那样)。如果我是你,我会重做swf所以你可以把按钮放在里面而不是试图叠在上面。
答案 1 :(得分:1)
如果选项1(我的第一个答案)不起作用,请尝试此解决方案:
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/swfobject.js"></script>
<script type="text/javascript">
$(document).ready(function() {
swfobject.embedSWF("flash/movie.swf", "no-flash", "195", "120",
"9.0.0", "flash/expressInstall.swf", {}, {wmode:"transparent"}, {});
$('#div2').live('click',function() {
alert('triggered a click');
});
});
</script>
<style type="text/css">
#div {
position:relative;
}
#div2 {
position:absolute;
z-index: 1;
}
</style>
<div id="div">
<div id="div2" style="width:195px;height:120px;">
<object type="img/gif">
<img src="images/null.gif" width="100%" height="100%" />
</object>
</div>
<img id="no-flash" src="images/no-flash.gif" alt="" />
</div>
这次我将#div2 div放在第一个div中,但是在被SWFObject替换的图像上方。在这个div里面是一个Object标签,MIME类型设置为“img / gif”,然后显然只是object标签中的一个图像。这个图像只是一个1×1的透明gif。因此,由于DOM顺序和z索引,带有图像的Object将位于另一个之上。 现在,这将成功触发我需要的所有浏览器的警报.. FireFox,Safari,Chrome,Opera,Internet Explorer 8,Internet Explorer 7和Internet Explorer 6.
答案 2 :(得分:1)
最后这很简单。注意链接中的透明gif。
<a href="$Link" class="overlay"><img src="$ThemeDir/images/transparent.gif" /></a>
<div class="flashContainerSml">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="125" height="125">
<param name="movie" value="$Flash.URL" />
<param name="wmode" value="opaque" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="$Flash.URL" width="125" height="125">
<param name="wmode" value="opaque" />
<!--<![endif]-->
<p></p>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</div>