网页中flash背景透明不是在做flash的时候设置的,而是在网页中插入flash的设置的,在插入的时候默认为不透明的!

网页中flash背景透明不是在做flash的时候设置的,而是在网页中插入flash的设置的,在插入的时候默认为不透明的!

设置的方法就是把object标签内加上<param name="wmode" value="transparent">,意思就是把wmode属性的值设置为transparent,原理通过是设置HTML模板变量使flash透明;

具体可参考下面的代码,注意红色部分:

如果使用了AC_RunActiveContent.js(此文件名可更改):

<script language="javascript">
if (AC_FL_RunContent == 0) {
   alert("此页需要 AC_RunActiveContent.js");
} else {
   AC_FL_RunContent(
    'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0',
    'width', '550',
    'height', '400',
    'src', '未命名-1',
    'quality', 'high',
    'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
    'align', 'middle',
    'play', 'true',
    'loop', 'true',
    'scale', 'showall',
    'wmode', 'transparent',
    'devicefont', 'false',
    'id', '未命名-1',
    'bgcolor', '#ffffff',
    'name', '未命名-1',
    'menu', 'true',
    'allowFullScreen', 'false',
    'allowScriptAccess','sameDomain',
    'movie', '未命名-1',
    'salign', ''
    ); //end AC code
}
</script>

使用object标签

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="550" height="400" id="未命名-1" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="false" />
<param name="movie" value="未命名-1.swf" />
    <param name="quality" value="high" />
    <param name="wmode" value="transparent" />
    <param name="bgcolor" value="#ffffff" />
    <embed src="未命名-1.swf" quality="high" wmode="transparent" bgcolor="#ffffff" width="550" height="400" name="未命名-1" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

注意:wmode有三个属性值Window | Opaque | Transparent

·window 模式
默认情况下的显示模式,在这种模式下flash player有自己的窗口句柄,这就意味着flash影片是存在于Windows中的一个显示实例,并且是在浏览器核心显示窗口之上的,所以flash只是貌似显示在浏览器中,但这也是flash最快最有效率的渲染模式。由于他是独立于浏览器的HTML渲染表面,这就导致默认显示方式下flash总是会遮住位置与他重合的所有DHTML层。但是大多数苹果电脑浏览器会允许DHTML层显示在flash之上,但当flash影片播放时会出现比较诡异的现象,比如DHTML层像被flash刮掉一块一样显示异常。
·Opaque 模式
这是一种无窗口模式,在这种情况下flash player没有自己的窗口句柄,这就需要浏览器需要告诉flash player在浏览器的渲染表面绘制的时间和位置。这时flash影片就不会在高于浏览器HTML渲染表面而是与其他元素一样在同一个页面上,因此你就可以使用z-index值来控制DHTML元素是遮盖flash或者被遮盖。
·Transparent 模式
透明模式,在这种模式下flash player会将stage的背景色alpha值将为0并且只会绘制stage上真实可见的对象,同样你也可以使用z-index来控制flash影片的深度值,但是与Opaque模式不同的是这样做会降低flash影片的回放效果,而且在9.0.115之前的flash player版本设置wmode=”opaque”或”transparent”会导致全屏模式失效。
·窗口 在网页上用影片自己的矩形窗口来播放应用程序。 “Window”表明 Flash 应用程序与 HTML 层没有任何交互,并且始终位于最顶层。
·不透明 使应用程序隐藏页上位于它后面的所有内容。
·透明 使 HTML 页的背景可以透过应用程序的所有透明部分显示出来,可能会降低动画性能。

posted on 2011-08-05 10:22  我还有  阅读(1217)  评论(0编辑  收藏  举报

导航