Warning: count(): Parameter must be an array or an object that implements Countable in /www/wwwroot/mdaeo.org/usr/plugins/AMP/Action.php on line 388
解决层被flash盖住的问题

Mdaeo'Blog

解决层被flash盖住的问题

做网站好多时候

比如说用js做了个下拉的菜单,再加入一个swf格式的flash动画后结果变得惨不忍睹,层的大部分内容被flash盖住,而设置层的z-index优先顺序居然无效,怎样才能让DIV层位于flash对象之上或者说层如何叠加在flash上面呢?搜索到网上的关于flash盖住层的解决办法.
通常的办法是将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 classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="600" height="170">
      <param name="movie" value="dayanmei.com.swf" />
      <param name="quality" value="high" />
     <param name="wmode" value="transparent" />
      <embed src="w.swf" wmode="transparent" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="600" height="170"></embed>
    </object>
  </noscript>
至此解决了 IE7,遨游(maxthon),Opera,和Safari中flash盖住层(覆盖层)的问题
 

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »

因本文不是用Markdown格式的编辑器书写的,转换的页面可能不符合AMP标准。