嵌入的flash遮挡弹出div层解决方法[转]

当网页中嵌入flash时会遮挡出JavaScript代码生成的div层;这个问题的解决方法是要在嵌入的flash代码中加入以下参数设置:
用于解决IE问题,设置wmode参数。 
 

1
<param name="wmode" value="transparent" />

在FF下要给embed标签加入下面wmode属性,

1
<embed src="你的flash.swf" wmode="transparent" ... ></embed>

现在FF下也支持

<param name="wmode" value="transparent" />

下面的示例:
完整代码

1
2
3
4
5
6
<object width="480" height="400" data="你的flash.swf" 
type="application/x-shockwave-flash">

<param name="wmode" value="transparent" />
<param name="align" value="middle" />
<param name="src" value="你的flash.swf" />
<param name="quality" value="high" />
</object>

wmode 属性/参数官方参考网址:http://livedocs.adobe.com/flash/8_cn/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00000852.html

以下为官方定义:
wmode 属性/参数

Window | Opaque | Transparent

模板变量:$WM
说明

(可选)允许使用 Internet Explorer 4.0 中的透明 Flash 内容、绝对定位和分层显示功能。此标记/属性仅在带有 Flash Player ActiveX 控件的 Windows 中有效。

“Window”在 Web 页上用影片自己的矩形窗口来播放应用程序。”Window”表明此 Flash 应用程序与 HTML 层没有任何交互,并且始终位于最顶层。

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

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

“Opaque windowless”和”Transparent windowless”都可与 HTML 层交互,从而允许 SWF 文件上方的层遮蔽应用程序。这两种选项之间的差异在于”Transparent”允许透明,因此,如果 SWF 文件的某一部分是透明的,则 SWF 文件下方的 HTML 层可以透过该部分显示出来,而”opaque”则不会显示。

如果忽略此属性,默认值为 Window。仅适用于 object。

posted @ 2012-09-12 15:32  易木  阅读(170)  评论(0编辑  收藏  举报