前天微软更新了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  :)

转载于:https://www.cnblogs.com/MaxIE/archive/2007/01/30/634530.html

解决IE更新对FLASH产生影响相关推荐

  1. “存储区更新、插入或删除语句影响到以外的行数(0)。实体在加载后可能被修改或删除”如何解决

    做项目的时候,我们的try... catch语句捕捉到这种异常,我们该如何解决呢? 之所以出现这样的异常,是因为我们用实体对象在接收页面的参数时,并没有接收到实体对象的主键,所以我们要在视图那里获取到 ...

  2. windows libusb打开失败_如何彻底解决windows更新问题!

    相信大家都为windows更新的问题所困扰,为了解决这个问题,我在网上查询各种方法,但是都没有什么用,Windows更新照样更新,最后经过我的尝试,我终于找到了一个彻底解决windows更新的绝顶方法 ...

  3. Android Studio SDK Manager 解决无法更新问题

    Android Studio SDK Manager 解决无法更新问题 参考文章: (1)Android Studio SDK Manager 解决无法更新问题 (2)https://www.cnbl ...

  4. 网络推广期间发现网站快照更新过慢会影响正常网络推广吗?

    针对搜索引擎对网站快照更新的问题之前就有过分析,其实网站快照更新的快慢与网站权重没有直接影响关系,因为蜘蛛爬虫抓取和网站快照更新分属两个不同的概念.如果网站快照更新比较慢很可能是因为网站内不出现问题, ...

  5. day36 10-Hibernate中的事务:解决丢失更新

    演示hibernate如何产生丢失更新的 丢失更新是怎么玩的?首先两个事务先都把它查出来. A事务里面去修改的数据没了,被B事务覆盖掉了.这是被B事务提交覆盖,B事务回滚也能覆盖.这就是丢失更新的效果 ...

  6. 如何解决div层被flash遮盖的问题

    页面构建中的Flash层会遮挡Div的问题,一般通过设置wmode="transparent" 或wmode="window"就可以解决.不过对于Flash视频 ...

  7. 如何解决pip更新问题

    如何解决pip更新问题 或许有些人在电脑运行命令窗口中安装时会遇到pip ungrade 问题.一般第一次安装是不会出现这个问题,但是过段时间就会出现这个问题,原因是 pip 模块升级更新了,你需要安 ...

  8. 解决Chrome谷歌浏览器″Adobe Flash Player 插件已被屏蔽″的问题

    ​​解决Chrome谷歌浏览器"Adobe Flash Player 插件已被屏蔽"的问题如果你确定在电脑上确实已经安装了 Adobe Flash Player 插件,但是打开网页 ...

  9. 解决LInux更新慢的问题, 更换国内软件源

    解决LInux更新慢的问题, 更换国内软件源 参考文章: (1)解决LInux更新慢的问题, 更换国内软件源 (2)https://www.cnblogs.com/blogcyh/p/12323117 ...

最新文章

  1. 使用rpmbuild对ceph的源码包进行重新打包
  2. Ajax简单示例之改变下拉框动态生成表格
  3. mysql中的触发器
  4. 英伟达jetson TX1的caffe-ssd配置
  5. android 屏蔽home键操作
  6. 网络day02-设备配置远程登录
  7. lodash源码分析之compact中的遍历
  8. 可能会紧急用到的Linux命令
  9. Java 10 –局部变量类型推断
  10. 毕设ssm商城系统_ssm商城系统(爱淘淘购物)项目源码
  11. 搭建Tomcat云服务器
  12. Django使用本机IP无法访问,使用127.0.0.1能正常访问
  13. 万字详解Oracle架构、原理、进程,学会世间再无复杂架构
  14. 浅析java中clone()方法
  15. 从模糊搜索 1.0 到 3.0 的算法迭代历程 | 技术头条
  16. JAVA面向对象OOP→继承extends、构造方法super、方法重写override、样例代码
  17. OpenCV-Python实战(11)——OpenCV轮廓检测相关应用
  18. RHCE 第三讲 文件系统
  19. 希尔伯特变换Hilbert Transform
  20. 利用US-100超声波传感器测距的核心代码

热门文章

  1. 今年诺贝尔医学奖颁给丙肝病毒发现者:英美三位科学家加冕,最年长者85岁,都曾获拉斯克奖...
  2. react学习笔记(4)组件的生命周期(运行阶段和销毁阶段)以及事件处理函数
  3. AngularJS学习日记(四)Service和Provider
  4. 从git中永久物理删除私密文件(改写git历史)
  5. Android 音视频开发入门指南
  6. 如何做618数据复盘?你需要掌握这8大思路
  7. 统计php脚本执行时间的php扩展
  8. (五) openwrt打包过程
  9. git for windows
  10. 如何避免模块间的CSS冲突