IE浏览器flash控件的激活方式介绍[原创]
[
2007-4-15 06:48 | by 张宴 ]

[文章作者:张宴 本文版本:v1.0 最后修改:2007.04.15 转载请注明出处:http://blog.zyan.cc]
微软因为一项专利侵权案,更改了IE浏览器中的ActiveX控件,只要Windows自动更新安装了微软的KB912945补丁后(或者安装IE7后),凡是一个页面内使用<object>、<embed>或<applet>标签的活动内容都不会被自动激活,需要用户手动点击,因而flash控件也不能幸免。下图为腾讯首页的一个Flash,各大门户网站只有腾讯的Flash控件没有进行激活处理:

目前只能通过修改网页来解决激活问题,微软官方给出的自动激活方法是:使用<script type="text/javascript" src="abc.js"></script>的方式调用外部的JS文件,在JS文件中用使用docuemnt.write写<object>...</object>。注意:直接在页面上使用docuemnt.write写入是不能饶开激活限制的。
我在自己的博客上采用了Unobtrusive Flash Objects (UFO)方案,首先在<head></head>中调用:
然后在需要插入Flash的地方插入以下代码:
注意:红色部分为flash文件地址。两个黄色标注的v20070325-1是随便设定的ID,两两对应,如果一个页面有多个Flash时,不同的Flash需要设定不同的两两对应ID。很多博客支持HTML代码,但提交文章时会在每行代码后加上<BR>换行符,导致Javascript代码出错,以上代码在浏览器中显示有三行,其实并没有换行,因而插在支持HTML的博客中不会出错。
演示:http://blog.zyan.cc/read.php/217.htm
还有一些公司、组织和个人提供了解决方案,列表如下:
微软因为一项专利侵权案,更改了IE浏览器中的ActiveX控件,只要Windows自动更新安装了微软的KB912945补丁后(或者安装IE7后),凡是一个页面内使用<object>、<embed>或<applet>标签的活动内容都不会被自动激活,需要用户手动点击,因而flash控件也不能幸免。下图为腾讯首页的一个Flash,各大门户网站只有腾讯的Flash控件没有进行激活处理:

目前只能通过修改网页来解决激活问题,微软官方给出的自动激活方法是:使用<script type="text/javascript" src="abc.js"></script>的方式调用外部的JS文件,在JS文件中用使用docuemnt.write写<object>...</object>。注意:直接在页面上使用docuemnt.write写入是不能饶开激活限制的。
我在自己的博客上采用了Unobtrusive Flash Objects (UFO)方案,首先在<head></head>中调用:
引用
<script type="text/javascript" src="http://www.zyan.cc/x/blog/200704/ufo.js"></script>
然后在需要插入Flash的地方插入以下代码:
引用
<script type="text/javascript">var FO = { movie:"http://v.blog.sina.com.cn/swf/player.swf?vid=1783929&uid=1278987704&auto=0", width:"475", height:"447", majorversion:"8", build:"0", xi:"true", quality:"high", bgcolor:"#EAEFF0" };UFO.create(FO, "v20070325-1");</script><div id="v20070325-1"></div>
注意:红色部分为flash文件地址。两个黄色标注的v20070325-1是随便设定的ID,两两对应,如果一个页面有多个Flash时,不同的Flash需要设定不同的两两对应ID。很多博客支持HTML代码,但提交文章时会在每行代码后加上<BR>换行符,导致Javascript代码出错,以上代码在浏览器中显示有三行,其实并没有换行,因而插在支持HTML的博客中不会出错。
演示:http://blog.zyan.cc/read.php/217.htm
还有一些公司、组织和个人提供了解决方案,列表如下: