SWFObject

更新时间:2022-03-11 19:31

SWFObject是一个用于在HTML中方便插入Adobe Flash媒体资源(*.swf文件)的独立、敏捷的JavaScript模块。该模块中的JavaScript脚本能够自动检测PC、Mac机器上各种主流浏览器对Flash插件的支持情况。它使得插入Flash媒体资源尽量简捷、安全。而且它是非常符合搜索引擎优化的原则的。此外,它能够避免您的 HTML、XHTML中出现object、embed等非标准标签,从而符合更加标准。

文件简介

SWFObject 2.0:

提供两种优化的嵌入Flash Player的方法:一种基于标签的方法和一种依赖于JavaScript的方法。

提供一套JavaScript API,目的是提供一套完整的工具来嵌入SWF文件和获得Flash Player的相关信息。[ http:// code. google. com/p/swfobject/wiki/SWFObject_2_0_api_javascript_dev ]

只利用一个很小的JavaScript文件(size: 8.7Kb, GZIPed: 3.4Kb)。

是SWFObject 1.5[ http:// blog. deconcept. com/swfobject/ ]和UFO [ http://www. bobbyvandersluis. com/ufo/ ]的继承者。

将最终替代Adobe Flash Player Detection Kit [ http://www. adobe. com/products/flashplayer/download/detection_kit/ ]。

准备整合所有已存在的Flash Player嵌入方法,并且为嵌入Adobe Flash Player内容提供一个新的标准。

是一个由Geoff Stearns、 Michael Williams和 Bobby van der Sluis创建的开源项目,前身是SWFFix [ http://code. google. com/p/swffix/ ]。

软件特点

SWFObject 2.0:

比任何其他的Flash Player嵌入方法更完善更灵活。

为每个人都提供了一种解决方案:无论你是一个HTML、Flash或者JavaScript开发者,你都能从中发现适合你的东西。

打破了使用浏览器专有标签的恶性循环,促进了web标准和替换内容(译者注:alternative content,指Flash内容无法正常显示时需要显示的内容,使用替换内容通常是因为Flash插件没有安装或者Flash插件版本过低)的使用。

采用分离式的(unobtrusive)JavaScript和最合理的JavaScript实践。

容易使用。

一篇A List Apart上的文章Flash Embedding Cage Match描述了SWFObject 2.0背后的所有原理。

JavaScript

SWFObject 2.0主要使用JavaScript来解决一些仅依靠标签无法解决的问题;它:

通过探测Flash Player的版本,来决定显示Flash内容还是替换内容,避免了过时的Flash插件影响Flash内容的正常显示。

提供了恢复到替换内容的功能:当Flash内容因为过时的Flash Player而无法正常显示时,SWFObject通过DOM操作用替换内容代替Flash内容。(注意:如果Flash Player没有被安装,HTML object元素会自动被替换内容所替代。)

提供了一个选择来使用Adobe Express Install下载最新版本的Flash Player。

通过使用专有的embed元素的办法,解决了老版的Webkit引擎会忽略嵌套在object元素中的param元素的问题。(注意:这是唯一一个使用了专有HTML标签的地方,并且在今后的版本中会被逐步淘汰。)

提供了一个详尽的JavaScript API来完成一些常见的与Flash Player和Flash内容相关的操作。

4 . 我们应该使用静态发表还是动态发表的方法?

SWFObject提供了两种不同的方法来嵌入Flash内容:

静态发表方法用符合标准的标签来嵌入Flash内容和替换内容,并且用JavaScript来解决一些仅依靠标签无法解决的问题。

动态发表方法基于用标准标签插入替换内容,如果浏览器安装了最低版本需求的Flash插件并且拥有足够的JavaScript支持,SWFObject会用JavaScript将替换内容替换成Flash内容(与以前版本的SWFObject以及UFO很相似)。

静态发表方法的优势在于:

促进了对符合标准标签的创作。(译者注:不太理解,原文是:The actual authoring of standards compliant markup is promoted.)

插入Flash内容的机制不再依赖于JavaScript,所以你的Flash内容能有更多的受众。

如果你安装了Flash插件,但是JavaScript被禁用了或者浏览器并不支持JavaScript,你仍然能够看到你的Flash内容。

Flash将能够在那些对JavaScript支持较弱的设备上运行,例如Sony PSP。

像RSS阅读器这样的自动化的工具能够读取Flash内容。

动态发表方法的优势在于:

它避免了通过点击激活的机制来激活Internet Explorer 6/7和Opera 9+中的Flash内容。值得注意的是微软正在逐步淘汰IE中的点击激活机制[ http://www. swffix. org/devblog/?p=19 ]。(译者注:Internet Explorer 6/7的点击激活机制已经在2008/4的更新中被移除)

它能很好的与基于脚本的应用整合。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}