FLASH在IE浏览器里需要手动点击更新激活的问题
2006年微软更新了IE浏览器,针对IE的更新,使ActiveX内容不能自载入的问题引起了许多人的关注.这些改变可以在Adobe的某些软件中看到,包括flashplayer.Authorware player, shockwave Player, SVG Viewer,Help Center 和 Adobe Reader,当然还有 Sun Java, Apple QuickTime, RealNetworks,RealPlayer和其它的ActiveX .通过某些方法嵌入到html页面中的交互内容可能不能响应用户的输入(例如,键盘,鼠标)直到用户点击要么激活要么继续loading .下面我的看看它到底是怎么一回事,并怎样解决它来使用户最大限度的方便浏览.
问题
当你查看web页面时,windows下的IE浏览器会将ActiveX内容显不为一个矩形框和一个提示内容为”Click to activate and use this control”意思就是你需要激活ActiveX的内容才可以查看或交互控制,ActiveX内容可能或不能象你预想的那样载入并进行播放. 可以查看Adobe提供的演示:这里
Adobe的解决方案
有如下两种解决方法:
方法1
如果你浏览了包含ActiveX的页面.点击这个内容激活它.
方法2
如果你正在开发一个网站,移除针对ActiveX内容所需的用户激活过程.针对此Adobe提供了一份基于javascriptr 解决文档.这里
通过使用Adobe的解决文档可以解决上述问题.
那么除了上述方法之外还有没有其它更简单的方法呢,答案是肯定的.可以使用deconcept 的flashObject 相比而言会比使用Adobe的方法更简单一些.并且运行状况是良好的.这里下载Download FlashObject 1.3 (38 hits)
基本方法如下:
只需要将flashobject.js 包含在你的html页面内,然后加上一点javascript代码嵌入flash swf就ok了.
它的工作方式如下:
代码:
<script type="text/javascript" src="flashobject.js"></script>
<div id="flashcontent">
This text is replaced by the Flash movie.
</div>
<script type="text/javascript">
var fo = new FlashObject("movie.swf", "mymovie", "200", "100", "7", "#336699");
fo.write("flashcontent");
</script>
简单分析一下,或是你可以仔细看flashObject的文档
代码:
<div id="flashcontent">
This text is replaced by the Flash movie.
</div>
这一段相当于我们在为放置flash文件而准备的一个holder.有些象我们常用的空的MovieClip holder.为放入内容而准备的.如果你没有装flashplayer.那么里面的那行字会显示出来如显示为”This text is replaced by the Flash movie.”
如果你装了flashplayer,那这行字是不会显示的,用户基本上是看不到的,同时它还有一个好处是你可以把这行内容变成的你搜索关键字,google会很容易搜到它的.呵呵,一举两得.
下面这段一看就知道是什么了.
代码:
<script type="text/javascript">
var fo = new FlashObject("movie.swf", "mymovie", "200", "100", "7", "#336699");
fo.write("flashcontent");
</script>
用来嵌入swf,比如当前的影片文件是”movie.swf”, id是”mymoive,宽是200,高是100,flashplayer版本是7,背景色是#336699.
下面我们来看一下我们嵌入一个flash的范例.
根据上面的基本工作方式,我们还要嵌入一些其它的参数.来满足我们一些其它的需要比如我们有一个文件名为ws.swf,我们想把它嵌入到页面中,又不至于受IE更新的影响.
1.在页面中包入flashobject.js文件
<script type="text/javascript" src="flashobject.js"></script>
一般这行代码可以写在body标签之前即可.
2.把下面这段代码加在它下方.
代码:
<div id="flashcontent" style="width: 300px; height: 200px"></div>
<script type="text/javascript">
var fo = new FlashObject("ws.swf", "mymovie", "300", "200px", "7", "#336699");
fo.addParam("quality", "low");
fo.addParam("wmode", "transparent");
fo.addParam("salign", "t");
fo.addParam("scale", "noscale");
fo.addParam("loop", "false");
fo.write("flashcontent");
</script>
从上面的代码中我们看出,我们将要把FLASH放在id为flashcontent层中,它的宽为300高为200像素,那么应是和我们的swf文件的大小是相同的.如果你想缩放也可以是不同的.下面var fo = new FlashObject("ws.swf", "mymovie", "300", "200px", "7", "#336699"); 是嵌入flash文件,在之前的内容已介绍过它里面的参数,其中的ws.swf可以是相对路径也可以是绝对路径,如你可以直接输入网站加上你的swf文件名字.
在下面的一段就是我们可以加入的参数,从上到下分别为quality质量,wmode transparent透明,salign对齐,scale缩放,loop循环等.
这样我们的嵌入过程就完成了.
如果你想使用flashVars来进行html与flash之前的通讯,使用flashobject也是很容易的,但有一点使用flashobjcet时只有在swf刚一载入时传递参数.并且是以值对的形式来传递,如下:variable1=value1&variable2=value2&variable3=value3
使用方法如下:
代码:
<script type="text/javascript">
var fo = new FlashObject("movie.swf", "mymovie", "200", "100", "7", "#336699");
fo.addVariable("variable1", "value1");
fo.addVariable("variable2", "value2");
fo.addVariable("variable3", "value3");
fo.write("flashcontent");
</script>
一旦这一步完成,那么所有的变量就已经传入到flash,你就可以灵活的在你的flash中的_root上使用了.
deconcept flashObject 还提供了可以加入其它参数的说明.你可以详细查看
除了这种简单方法之外,这还有一个与之类似的,我并没有仔细看,如果你有兴趣可以仔细看一下.这里ufo
哈哈,针对微软IE的更新改变,我们已经能轻松的去掉必须要点击一下才能看的过程了.如果你有空不要忘了去微软网站上看一下,它用的是什么,最后,不要忘了更新你网站,Cheers :)
Tags:
最新文章
- HTML讲堂第十课 表单设计及表单提交 [09-06]
- HTML讲堂第九课 多视窗口 框架网页 [09-06]
- HTML讲堂第八课 网页的动态、多媒体 [09-06]
- HTML讲堂第七课 表格TABLE标签使用 [09-06]
- HTML讲堂第六课 图像的处理 图像的 [09-06]
- HTML讲堂第五课 建立列表 无序列表 [09-06]
- HTML讲堂第四课 建立超链接 FTP链接 [09-06]
- HTML讲堂第三课 HTML文字版面的编辑 [09-06]
- HTML讲堂第二课 HTML主体标签及属性 [09-06]
- HTML讲堂第一课 HTML概述与基本结构 [09-06]
推荐文章
HTML讲堂第十课 表单设计及表单提
HTML讲堂第九课 多视窗口 框架网
HTML讲堂第八课 网页的动态、多媒
HTML讲堂第七课 表格TABLE标签使
HTML讲堂第六课 图像的处理 图像
HTML讲堂第五课 建立列表 无序列
HTML讲堂第四课 建立超链接 FTP链
HTML讲堂第三课 HTML文字版面的编
HTML讲堂第二课 HTML主体标签及属
HTML讲堂第一课 HTML概述与基本结
FLASH在IE浏览器里需要手动点击更
HTML文档规范化简洁化 HTML TIDY
媒体播放器 在网页中播放CD代码及
浏览器兼容性问题 CSS HACK浏览器
CSS浏览器兼容问题IE6/IE7/Firef
兼容问题 IE6.0,IE7.0与FireFox的
怎样使IE7显示HTML里的Object元素
Hibernate教程之HQL语句讲解及用
HTTP1.1协议服务器状态代码及其各
HTTP协议基础及HTTP协议中POST和


热点文章
JS实现浏览器菜单命令
利用ASP打造网站论坛DIY(上)--强
计算机常用英语、术语、词汇表
介绍一个免费的具备数据显示/录入
Linux 常用命令(磁盘管理)
SQL Server SQL语句导入导出大全
文字发音动态链接库函数调用说明
VC++下使用ADO编写数据库程序
程序员四大忌
SQL语句大全
在线媒体播放器全新揭密
SQL Server SQL语句导入导出大全
ASP开发web站点
HTML语言剖析_表格标记
用VB实现软件试用期
使用JavaScript访问XML数据
Linux 常用命令(进入与退出系统)
在Web页中使用Media Player
document.execCommand() 解析
有关网页制作的一些基本概念
注册表在IE中的应用技巧
三种禁用FSO组件的方法
ASP教程:堵住ASP漏洞
Linux 常用命令(系统管理)
SQL Server SQL语句导入导出大全
VC++下使用ADO编写数据库程序
挂QQ的网页源代码[ASP/PHP/JS
关于ASP访问ACCESS数据的错误的探
SQL Server SQL语句导入导出大全
Linux 常用命令(在Linux环境下运

