论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash教程
Tag:flash cs,flash 8,鼠绘,as,手绘,工具,文字,loading,入门,初学,mc,影片剪辑,声音,mtv,游戏,引导,遮罩,菜单,补间,广告条,时钟,视频教程

解决IE更新对FLASH产生影响的方法

文章类别:Flash | 发表日期:2008-9-21 15:09:51

         前天微软更新了IE浏览器,针对IE的更新,使ActiveX内容不能自载入的问题引起了许多人的关注.这些改变可以在Adobe的某些软件中看到,包括flashplayer.Authorware player, shockwave Player, SVG Viewer,Help Center 和 Adobe Reader,当然还有 Sun Java, Apple QuickTime, RealNetworks,RealPlayer和其它的ActiveX .通过某些方法嵌入到html页面中的交互内容可能不能响应用户的输入(例如,键盘,鼠标)直到用户点击要么激活要么继续loading .下面我的看看它到底是怎么一回事,并怎样解决它来使用户最大限度的方便浏览,因为webstudio 的flash网站建设是主要的业务,所以很是想找到简单的解决办法.

问题

当你查看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  :) 
视频教程列表
文章教程搜索
 
Flash推荐教程
Flash热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058