SWFObject是一个用于在HTML中方便插入Adobe Flash媒体资源(*.swf文件)的独立、敏捷的JavaScript模块。该模块中的JavaScript脚本能够自动检测PC、Mac机器上各种主流浏览器对Flash插件的支持情况。它使得插入Flash媒体资源尽量简捷、安全。而且它是非常符合搜索引擎优化的原则的。此外,它能够避免您的 HTML、XHTML中出现object、embed等非标准标签,从而更加符合标准。
一、简介
SWFObject 2.0:
提供两种优化的嵌入Flash Player的方法:一种基于标签的方法和一种依赖于JavaScript的方法。
提供一套JavaScript API,目的是提供一套完整的工具来嵌入SWF
SWFObject
SWFObject
文件和获得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实践。
容易使用。
三、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的更新中被移除)
它能很好的与基于脚本的应用整合。
评论(0人参与,0条评论)
发布评论
最新评论