消除flash在 xp sp2 与 server2003下面需要点击一下才能运行.

来源:互联网 发布:安卓编程好用的软件 编辑:程序博客网 时间:2024/05/17 23:37
 在xp或者2003升级后,所有的flash都要点击一下才能用效.

下面这个js是 adobe 提供了。可以让flash不需要点击就可以运行.

示例方法
---------------------------------------------------------










<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab#version=8,0,24,0" width="100%" height="668"><br/><br/> <param name="movie" value="http://sun.the9.com/images_sun/swf/mainMenu_sun.swf"/><br/><br/> <param name="quality" value="high"/><br/><br/>  <param name="base" value="http://sun.the9.com/images_sun/swf/"/><br/><br/> <param name="wmode" value="transparent"/><br/><br/> <embed src="http://sun.the9.com/images_sun/swf/mainMenu_sun.swf" _xhe_src="http://sun.the9.com/images_sun/swf/mainMenu_sun.swf" width="100%" height="668" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent"/><br/><br/> </object>




---------------------------------------------------------

js内容. 请复制保存为js文件

//v1.0
//Copyright 2006 Adobe Systems, Inc. All rights reserved.
function AC_AddExtension(src, ext)
{
 if (src.indexOf('?') != -1)
 return src.replace(//?/, ext+'?');
 else
 return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs)
{
 var str = '';
 for (var i in params)
 str += ' ';
 str += '';

 document.write(str);
}

function AC_FL_RunContent(){
 var ret =
 AC_GetArgs
 ( arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
 , "application/x-shockwave-flash"
 );
 AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
 var ret =
 AC_GetArgs
 ( arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
 , null
 );
 AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
 var ret = new Object();
 ret.embedAttrs = new Object();
 ret.params = new Object();
 ret.objAttrs = new Object();
 for (var i=0; i < args.length; i=i+2){
 var currArg = args[i].toLowerCase();

 switch (currArg){  
 case "classid":
 break;
 case "pluginspage":
 ret.embedAttrs[args[i]] = args[i+1];
 break;
 case "src":
 case "movie":  
 args[i+1] = AC_AddExtension(args[i+1], ext);
 ret.embedAttrs["src"] = args[i+1];
 ret.params[srcParamName] = args[i+1];
 break;
 case "onafterupdate":
 case "onbeforeupdate":
 case "onblur":
 case "oncellchange":
 case "onclick":
 case "ondblClick":
 case "ondrag":
 case "ondragend":
 case "ondragenter":
 case "ondragleave":
 case "ondragover":
 case "ondrop":
 case "onfinish":
 case "onfocus":
 case "onhelp":
 case "onmousedown":
 case "onmouseup":
 case "onmouseover":
 case "onmousemove":
 case "onmouseout":
 case "onkeypress":
 case "onkeydown":
 case "onkeyup":
 case "onload":
 case "onlosecapture":
 case "onpropertychange":
 case "onreadystatechange":
 case "onrowsdelete":
 case "onrowenter":
 case "onrowexit":
 case "onrowsinserted":
 case "onstart":
 case "onscroll":
 case "onbeforeeditfocus":
 case "onactivate":
 case "onbeforedeactivate":
 case "ondeactivate":
 case "type":
 case "codebase":
 ret.objAttrs[args[i]] = args[i+1];
 break;
 case "width":
 case "height":
 case "align":
 case "vspace":
 case "hspace":
 case "class":
 case "title":
 case "accesskey":
 case "name":
 case "id":
 case "tabindex":
 ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
 break;
 default:
 ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
 }
 }
 ret.objAttrs["classid"] = classid;
 if (mimeType) ret.embedAttrs["type"] = mimeType;
 return ret;
}

请另为 AC_RunActiveContent.js 或者你自己想要的名称(引用时需要改变)
原创粉丝点击