ctgwglzc 发表于 2007-4-29 16:14:40

解决XP浏览 Flash需要激活办法

由于微软的4月份的升级补丁,造成XP用户浏览网上flash需要激活,这样给用户带来一定的安全性,但这给网站设计人员造成很大的不便。

下面我就很多网站给出的解决方法做了整合,研究出来最方便的解决方法

首先,我们创建一个JS文件,flash_view.js文件内容如下:
document.writeln ('<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" WIDTH='+flashWIDTH+' HEIGHT='+flashHEIGHT+'>');
document.writeln ('<PARAM NAME=movie VALUE="'+flashURL+'">');
document.writeln ('<PARAM NAME=wmode VALUE=transparent>');
document.writeln ('<PARAM NAME=loop VALUE=true>');
document.writeln ('<PARAM NAME=quality VALUE=high>');
document.writeln ('<EMBED src="'+flashURL+'" loop=true wmode=opaque quality=high swLiveConnect=FALSE WIDTH='+flashWIDTH+' HEIGHT='+flashHEIGHT+' TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></EMBED>');
document.writeln ('</OBJECT>');

注意这段代码里的三个变量:flashURL、flashHEIGHT、flashWIDTH。

他们分别代表了要插入Flash的三个属性,即:地址、高度、和宽度。

使用方法:

1、然后在所需Flash的地方插入以下JS代码:
<script language=javascript>
var flashURL="flash/main_title.swf";
var flashWIDTH="260";   
var flashHEIGHT="590";
</script> <script language=javascript src="js/flash_view.js"></script>
这样就可以,在任何地方插入多个swf文件,是不是很简单,很多网上办法都很麻烦。这样同一个页面,插入多个swf文件时,只需更改flashURL、flashWIDTH
flashHEIGHT的值就可以了。

yellky 发表于 2007-5-2 13:27:49

js为什么不封装一下呢?封装一下调用岂不更方便(省掉不必要的变量定义污染全局变量空间)....

flash_view.js


functionflash_view(flashURL,flashHEIGHT,flashWIDTH){
document.writeln ('<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" WIDTH='+flashWIDTH+' HEIGHT='+flashHEIGHT+'>');
document.writeln ('<PARAM NAME=movie VALUE="'+flashURL+'">');
document.writeln ('<PARAM NAME=wmode VALUE=transparent>');
document.writeln ('<PARAM NAME=loop VALUE=true>');
document.writeln ('<PARAM NAME=quality VALUE=high>');
document.writeln ('<EMBED src="'+flashURL+'" loop=true wmode=opaque quality=high swLiveConnect=FALSE WIDTH='+flashWIDTH+' HEIGHT='+flashHEIGHT+' TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></EMBED>');
document.writeln ('</OBJECT>');
}



调用:


<script language=javascript src="js/flash_view.js"></script>
<script language=javascript>
flash_view("地址",高度,宽度)
</script>

admin 发表于 2007-5-11 15:24:02

你不是说SCRIPT要占内存吗
要不把论坛默认的FLASH标签给搞成免激活的?
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="550" height="400"><param name="allowScriptAccess" value="sameDomain"><param name="movie" value="{1}"><param name="quality" value="high"><param name="bgcolor" value="#ffffff"><embed src="{1}" quality="high" bgcolor="#ffffff" width="550" height="400" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>

yellky 发表于 2007-5-11 20:56:29

JS占内存不错,但有它的好处

JS被载入内存后,只要不刻意销毁,在其生命周期内会常驻内存

可以加快页面的加载和显示

以以上flash标签改为js调用为例,上述代码改为JS调用后

functionflash_view(flashURL,flashHEIGHT,flashWIDTH){
document.writeln ('<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" WIDTH='+flashWIDTH+' HEIGHT='+flashHEIGHT+'>');
document.writeln ('<PARAM NAME=movie VALUE="'+flashURL+'">');
document.writeln ('<PARAM NAME=wmode VALUE=transparent>');
document.writeln ('<PARAM NAME=loop VALUE=true>');
document.writeln ('<PARAM NAME=quality VALUE=high>');
document.writeln ('<EMBED src="'+flashURL+'" loop=true wmode=opaque quality=high swLiveConnect=FALSE WIDTH='+flashWIDTH+' HEIGHT='+flashHEIGHT+' TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></EMBED>');
document.writeln ('</OBJECT>');
}

这部分代码只会在第一次载入它的页面中载入一次,在页面有效期内,不管是相同的flash连接调用它,

还是不同的flash连接调用它,都不需要重新向服务器索取.

但每个flash连接都要向服务器索取下面相同的代码:

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="550" height="400"><param name="allowScriptAccess" value="sameDomain"><param name="movie" value="{1}"><param name="quality" value="high"><param name="bgcolor" value="#ffffff"><embed src="{1}" quality="high" bgcolor="#ffffff" width="550" height="400" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>
页: [1]
查看完整版本: 解决XP浏览 Flash需要激活办法