透明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根据自己的路径修改即可。
flash, Flash JavaScript, JavaScript, JS, 脚本, 透明