在IE中,去掉FLASH虚线外框的办法(两种方法)

这次,从网上找到了这样一个方法,能解决很多朋友头疼的FLASH在IE里面,必须先点“单击以激活此插件”这么麻烦的操作。废话不说,以下是操作:
首先新建一个js文件,文件名:AC_RunActiveContent.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 = '<object ';
 for (var i in objAttrs)
 str += i + '="' + objAttrs[i] + '" ';
 str += '>';
 for (var i in params)
 str += '<param name="' + i + '" value="' + params[i] + '" /> ';
 str += '<embed ';
 for (var i in embedAttrs)
 str += i + '="' + embedAttrs[i] + '" ';
 str += ' ></embed></object>';

 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;
}


然后再应用页面中head内加入

程序代码 程序代码

<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>


在要插入flash的地方加上以下


下面这段JS修改的时候要注意,一共要修改四个地方:
300 是宽度;
200 是高度;
images/killIEBorder 是路径和文件名,修改时注意,共有两处,还要特别注意,文件名后面不要加“.swf”,此后缀已经写在AC_RunActiveContent.js中
程序代码 程序代码

<script type="text/javascript">AC_FL_RunContent( 'codebase',' [url]http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab[/url] #version=7,0,19,0','width','300','height','200','src','images/killIEBorder','quality','high','pluginspage',' [url]http://www.macromedia.com/go/getflashplayer[/url] ','wmode','transparent','movie','images/killIEBorder' ); //end AC code</script>



<!--遇到浏览器禁用javascript时将调用下面这段<noscript></noscript>内的代码,就是Dreamweaver升级到8.0.2之前我们插入flash时的那段代码。<param> 标签针对IE起作用,<embed> 标签针对Firefox和Netscape起作用。-->

 
<noscript>
<object classid= "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase= "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="300" height="200">
<param name="movie" value="images/killIEBorder.swf">
<param name="quality" value="high">
<param name="wmode" value="transparent">
<embed src="images/killIEBorder.swf" width="300" height="200" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent"></embed>
</object>
</noscript>


完成
第二种方法:
(此代码在FF里不适用。今天试了一下,只要加入一串<embed>属性就好了!
这里就省略了,同行的朋应该明白<embed>里应该写哪些属性吧?*^_^*)
原文地址:
[url]http://www.shou-nao.com/tw/charles/article.cfm?ATC_ID=866EA332-ADB0-5700-EB5E9A89B5315AE6[/url]
下载范例:
[url]http://www.shou-nao.com/tw/charles/UserFiles/File/noOutline.rar[/url]

本地下载
  点击下载此文件

2. 自己用 javaScript 解�Q

a. 在 <head> </head> 之�g插入

程序代码 程序代码
1:   <script type="text/javascript" src="fix_eolas.js" defer="defer"></script> 

js的code:
程序代码 程序代码
// (c) David Grudl aka -dgx-
//
//  more info:  [url]http://www.dgx.cz/knowhow/eolas-workaround/[/url]


var objects = document.getElementsByTagName("object");

for (var i=0; i<objects.length; i++)
    objects[i].outerHTML = objects[i].outerHTML;

b. 在 <body> </body> 之�g插入,要播放的 .swf
  
程序代码 程序代码
 <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="400" height="300" 
          codebase=" [url]http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6[/url],0,0,0 ">            
         <!-- �@�e的 value 要改�槟�所要置放的 .swf --> 
          <param name="movie" value="jjan_mv_1_21.swf" /> 
   
          <param name="loop" value="true" /> 
          <param name="menu" value="false" /> 
 </object> 
 
 
参考文献:
[url]http://www.qiter.com/blog/article.asp?id=491[/url]
[url]http://www.stom.com.cn/blog/article.asp?id=79[/url]
 

你可能感兴趣的:(IE,Flash,虚线,休闲,外框)