针对 IE ActiveX 升级后的 Flash 显示方法

« 返回上页作者:乔夫  分类: 网事悠游  日期:2006-7-6 at 12:59  

IE 升级后,Flash 控件总是需要点击确认后才能运行,很是不爽。前后用过好几种解决方法,总是差强人意。当然不论那种方法都和 JS 有关,不过今天偶总结了一下,修改了一个较为简单的调用方法。就是整个站点只需调用一个 JS 文件,通过接收参数来调用相应的 FLash 文件。比起 Flash Object 和 Adobe ActiveContent 的解决方案,此方法用到的 JS 语句算是最短了:

document.writeln("<embed src=\"***" quality=\"high\"  pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width=\"***\" height=\"***"></embed>");

在 ASP 环境下偶修改了一个通用的 JS 文件,其它环境应该自然同理。

// 针对 IE ActiveX 升级后的 Flash 显示的解决方法<br />
Dim flash_src,flash_name,flash_width,flash_height,flash_transparentflash_src = Trim(Request.QueryString(&quot;src&quot;))<br />
  flash_name = Trim(Request.QueryString(&quot;n&quot;))<br />
  flash_width = Trim(Request.QueryString(&quot;w&quot;))<br />
  flash_height = Trim(Request.QueryString(&quot;h&quot;))<br />
  flash_transparent = Trim(Request.QueryString(&quot;t&quot;))  &amp;#39; 0为不透明,1为透明 If flash_transparent = 1 Then<br />
  wmode = &quot;wmode=\&quot;&quot;transparent\&quot;&quot;&quot;<br />
  Else<br />
  wmode = &quot;&quot;<br />
  End If<br />
  %&gt;<br />
document.writeln(&quot;&lt;embed src=\&quot;&lt;%= flash_src %&gt;/&lt; %= flash_name %&gt;.swf\&quot; quality=\&quot;high\&quot;  &lt; %= wmode %&gt; menu=\&quot;false\&quot; pluginspage=\&quot;http://www.macromedia.com/go/getflashplayer\&quot; type=\&quot;application/x-shockwave-flash\&quot; width=\&quot;&lt; %= flash_width %&gt;\&quot; height=\&quot;&lt; %= flash_height %&gt;\&quot;&gt;&lt;/embed&gt;&quot;);

将代码存为 Flash.asp
然后在需要调用 Flash 文件的相关页面,插入即可,形如:

&lt;script language=&quot;JavaScript&quot; type=&quot;text/javascript&quot; src=&quot;flash.asp?src=images/flashs&amp;n=menus&amp;w=768&amp;h=60&amp;t=0&quot;&gt;&lt;/script&gt;

是不是简单多了?呵呵。。。当然,这只是治“标”,最好的办法,我们还是得希望 Adobe 能从“本”上解决问题,想来也该快了吧!

更多分享

暂无评论  Trackback Url:http://ichov.com/web/ie-flash.html/trackback

有啥说啥 Leave a Reply