透明flash脚本(Flash JavaScript)

任刚(rengang.org)在一个网页设计的案例中我用到了浮动div(在线客服),默认的状态是浮动的在线客服窗口遇到flash内容就会被遮蔽,那么下面来看两种处理的方法:

第一种,在网页flash的代码中插入如下代码让其透明:

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

第二种,应用一个透明flash的脚本,方便多个网页调用,这里命名为 transparent.js :

function huawen_design(swfPath,width,heigh)
{
document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"
width="' + width + '" height="' + heigh + '">');
document.write('<param name="movie" value="' + swfPath + '">
<param name="quality" value="high">
<param name="menu" value="false">');
document.write('<param name="wmode" value="transparent">');
document.write('<embed src="http://alltobe.com/iframe/huawen_design.swf' + swfPath + '" width="' + width + '" height="' + heigh + '" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" menu="false" wmode="transparent"></embed>');
document.write('</object>');
}

然后到调用这个JS脚本的页面内,加入如下代码:

<script type="text/javascript" src="http://huawendesign/transparent.js"></script>

然后到需要插入flash的位置写入如下JS代码:

<script>huawen_design("huawen_design.swf","210","90")</script>

补充第三种,这种就是swfobject.embedSWF的方法,很多朋友用了这种方法后都没有实现透明效果,可能是少了一句
wmode:Transparent;,看我的一个代码实例:

<SCRIPT type=text/javascript>
		var cacheBuster = "?t=" + Date.parse(new Date());
		var stageW = 980;//"100%";
		var stageH = 329;//"100%";
		var attributes = {};
		attributes.id = 'banner';
		attributes.name = attributes.id;
		var params = {allowScriptAccess:'always',quality:'high',wmode:'Transparent'};
		params.bgcolor = "#ffffff";
		var flashvars = {};
		flashvars.componentWidth = stageW;
		flashvars.componentHeight = stageH;
		flashvars.pathToFiles = "img/";
		flashvars.xmlPath = "rengang.org_banner.xml";
		swfobject.embedSWF("img/preview.swf"+cacheBuster, attributes.id, stageW, stageH, "9.0.124", "img/expressInstall.swf", flashvars, params);
</SCRIPT>

其中的js脚本文件和Flash根据自己的路径修改即可。

, , , , ,

叽歪一个