From:http://blog.csdn.net/pwlazy/archive/2006/10/10/1328735.aspx
****************************************************************************
背景 :国庆前的项目中遇到IE下加载flash8或以上版本的时候会遇到一个需要激活的问题,这确实比较讨厌。如何解决?下面罗列项目中使用的两种方案,特此记录已备忘

1)包含外部文件的方式
你在一个页面中直接写
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="500" height="250" ">
<param name="movie" value="/cn/xx.swf?xindex=1" />
 
<param name="quality" value="high" />
<param name="wmode" value="transparent">    <param name="menu" value="false">
<embed src="cn/xx.swf?xindex=1" quality="high" bgcolor="#ffffff" width="500" height="250" name="colorChooseFlash"  align="middle" wmode="transparent" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>



那么访问该页面时肯定需要激活(IE下flash8或以上),做如下改动

建一个文件比如xx.js
内容
 var s='<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="500" height="250" ">';
     s
+='    <param name="movie" value="/cn/'+getType(flashtype)+'?xindex='+xindex+'" />';
     s
+='    <param name="quality" value="high" />';
     s
+='   <param name="wmode" value="transparent">    <param name="menu" value="false">';
         s
+='    <embed src="/cn/'+getType(flashtype)+'?xindex='+xindex+'" quality="high" bgcolor="#ffffff" width="500" height="250" name="colorChooseFlash"  align="middle" wmode="transparent" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
     s
+='</object>';

document.write(s);

然后再在主页面嵌入该文件
<script language="javascript" src="/cn/inc/xx.js" type="text/javascript"></script>


注意如果flash构建代码中需要变量可使用js变量传

2)如果你使用ajax的方式动态导入改flash也可以解决
posted on 2006-12-14 18:22  phantom_fox  阅读(605)  评论(0)    收藏  举报