DIV+CSS下拉菜单被Flash挡住处理方法

admin 2012 年 4 月 25 日 留言评论 点击:1293

昨天给一个客户的一个网站。导航采用的div+css+js下拉菜单。后来在导航下面加了个flash的banner。

flash代码采用object代码之后转为Js调用,但是后来发现在Webkit内核、IE浏览器下面,div下拉菜单被flash完全挡住。。

以前也遇到过类似的问题,但是自己也忘记怎么解决的了。

于是就google了下,发现有很多解决方案。原来可以通过设置flash的属性来修正的。

代码如下:

<script type=text/javascript>
var varText = “”
function addInfo(title,photourl,sphotourl){
if(varText!=””){
varText+=”|||”;
}
varText+=title+”|_|”+photourl+”|_|”+sphotourl;
}
addInfo(“”,”images/1.jpg”,”images/spic1.jpg”);
addInfo(“”,”images/2.jpg”,”images/spic2.jpg”);
addInfo(“”,”images/3.jpg”,”images/spic3.jpg”);
//
document.write(‘<object classid=”clsid:d27cdb6e-ae6d-11cf-96b8-444553540000″ codebase=”http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0″ width=”914″ height=”316″ id=”01″ align=”middle”>’)
document.write(‘<param name=”allowScriptAccess” value=”sameDomain” />’)
document.write(‘<param name=”movie” value=”images/main.swf?info=’+varText+'” />’)
document.write(‘<param name=”quality” value=”high” />’)
document.write(‘<param name=”bgcolor” value=”#ffffff” /><param name=”wmode” value=”transparent” />‘)
document.write(‘<embed src=”images/main.swf?info=’+varText+'”” quality=”high” bgcolor=”#ffffff” wmode=”opaque” width=”914″ height=”316″ name=”01″ align=”middle” allowScriptAccess=”sameDomain” type=”application/x-shockwave-flash” pluginspage=”http://www.macromedia.com/go/getflashplayer” />’)
document.write(‘</object>’)
</script>

红色代码为所加属性

在这里为了使IE和Webkit下面都管用,因此在<param 和<object中都加了透明属性。

在这里:wmode=”opaque”可以用wmode=”transparent”的。我在这里用的前者,这两个属性有什么区别呢?

“Opaque” 使应用程序隐藏页面上位于它后面的所有内容。

“Transparent”使 HTML 页的背景可以透过应用程序的所有透明部分进行显示,这样可能会降低动画性能。

 

以后碰到类似的问题就知道怎么操作了。。

留言评论

必填

Required, 保密

Trackback this post  |  Subscribe to the comments via RSS Feed