通常的办法是将flash设置为透明,给flash增加两个参数
<object>中加入 <param name="wmode" value="transparent" />
<embed>中加入 wmode="transparent"
我这样做了,然而结果是在firefox中正常了,而 IE7,遨游(maxthon),Opera,和Safari中均无效,层依然被flash盖住,尝试给层加上最优顺序z-index依然无法解决flash盖住层的问题
尝试将flash放入层中,依然无法解决,在层与flash的优先顺序中,flash似乎总是优先于层的
冥思苦想了1分钟,发现问题在这里,在dreamweaver 8中自动给swf加入了一个控件AC_FL_RunContent(),这是一个js函数,就是避免在IE中需要激活swf控件的函数,看到里面有设置宽度,高度和flash来源之类的东西,我想是不是需要在这里也添加呢?按照AC_FL_RunContent()参数的格式测试了一下,结果通过。
附代码如下,见红色标志
<script type="text/javascript">
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0',
'width','600','height','170','src','dayanmei.com','quality','high','wmode','transparent',
'pluginspage','http://www.macromedia.com/go/getflashplayer','movie','banner' ); //end AC code
</script><noscript><object class></embed>
</object>
</noscript>
至此解决了 IE7,遨游(maxthon),Opera,和Safari中flash盖住层(覆盖层)的问题