SWFObject Flash js调用类

 更新时间:2008年07月08日 10:24:49   作者:  
一直想为 SWFObject 这个JS的类库写一个推荐帖,因为他轻便,同时功能强大,为我们的开发带来了很大的便捷。
 SWFObject是一个基于Javascript的Flash媒体版本检测与嵌入模块,其主要使用目的是让我们将FLASH嵌入网页中的操作更简单,加入了版本检测功能,符合XHTML的标准验证的插入,并解除了IE对FLASH点击激活的限制,对主流浏览器兼容。
首先让我们看一段SWFObject作用的代码:  
//载入SWFObject类库
<script type="text/javascript" src="swfobject.js" src="swfobject.js"></script>
//设置一个DIV,并设置ID,这个DIV将做为FLASH插入的容器
<div id="flashcontent">播放此动画需要FlashPlayre8.0+ </div>
//利用SWFObject来插入FLASH
<script type="text/javascript"> var so = new SWFObject("movie.swf", "mymovie", "200", "100", "7", "#336699");
//将id为flashcontent的DIV中内容替换为FLASH
so.write("flashcontent");
</script>
看了上面的代码感觉如何?比起平时用Object来插入FLASH文件是不是简洁多了,而且代码结构更清晰,对这段代码的中文解释可参看AW对SWFObject的翻译,已经很详细了,不再赘述,下面只介绍一下个人认为最实用的功能。

一、版本检测 

难免存在播放器版本过低的用户,而且他们大多数是低端用户,对电脑知识了解较浅,如果他们看不到我们所指出的FLASH动画,或者是由于播放器版本不支持新版本中的某些特性,用户看到的是残缺的动画,那么这就是一个糟糕的用户体验,用户很容易将一切因素都归咎于产品的开发者。实用SWFObject就可以很好的避免这一麻烦,当它检测到用户的播放器版本低于我们设置的版本时,FLASH不会替换DIV容器中的内容,因此我们可以在这里给用户提示,例如:“你需要升级FLASH播放器版本至8.0+”。如果条件允许,我们可以在这里给用户一个Adobe的FlashPlayer的升级链接或者直接提供一个Active安装包给用户下载安装。

二、对FlashVars的支持

so.addVariable("arg1","test1"));
so.addVariable("arg2","test2"));
上面两句代码将以FlashVars的方式给FLASH的ROOT中添加两个变量arg1=test1,arg2=test2,简洁,方便,同时不用我们再考虑IE和FF的兼容问题。

注意:JS跟FLASH通信是以字符串传递的,因此对于Number型变量FLASH端需要做类型转换。

三、设置FLASH内联参数  

so.addParam("wmode", "transparent");
这是我们很熟悉的设置FLASH背景透明的代码,其他内联属性可以尝试设置一下。

四、获取URL中的变量

对于url?arg1=test1&arg2=test2这样用GET方式传递变量的URL,我们可以用getQueryParamValue方法来获取变量。

var t1 = getQueryParamValue("arg1");
alert(t1);
官方地址:http://blog.deconcept.com/swfobject/

相关文章

  • JS正则RegExp.test()使用注意事项(不具有重复性)

    JS正则RegExp.test()使用注意事项(不具有重复性)

    这篇文章主要介绍了JS正则RegExp.test()使用注意事项,结合实例形式分析了RegExp.test()方法的功能与用法,以及针对不能重复调用的解决方法,需要的朋友可以参考下
    2016-12-12
  • setinterval()与clearInterval()JS函数的调用方法

    setinterval()与clearInterval()JS函数的调用方法

    这篇文章主要介绍了setinterval()与clearInterval()JS函数的调用方法,实例分析了setinterval()与clearInterval()的语法结构及使用技巧,需要的朋友可以参考下
    2015-01-01
  • JS手写bind之处理new的情况详解

    JS手写bind之处理new的情况详解

    虽然很少会遇到给bind返回的函数做new操作的场景,但面试中还是会涉及到的,所以本文将实现一下兼容new操作的bind写法,顺便学习一下new操作符,需要的可以参考一下
    2022-07-07
  • Three.js实现浏览器变动时进行自适应的方法

    Three.js实现浏览器变动时进行自适应的方法

    这篇文章主要给大家介绍了关于Three.js实现浏览器变动时进行自适应的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2017-09-09
  • Javascript处理循环的异步操作指南

    Javascript处理循环的异步操作指南

    这篇文章主要给大家介绍了关于Javascript处理循环的异步操作的相关资料,文中通过实例代码介绍的非常详细,对大家学习或者使用js具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03
  • JS 中LocalStorage和SessionStorage的使用

    JS 中LocalStorage和SessionStorage的使用

    最近因为项目上需要使用到客户端存储,所以稍微研究了一下,以下说说自己的理解和使用经验,特此分享到脚本之家平台,感兴趣的朋友参考下吧
    2017-08-08
  • IE innerHTML,outerHTML所引起的问题

    IE innerHTML,outerHTML所引起的问题

    我们在用javascript创建一个遮盖层(div)后,如果点击关闭用到了
    2009-06-06
  • canvas轨迹回放功能实现

    canvas轨迹回放功能实现

    这篇文章主要介绍了canvas轨迹回放功能实现过程以及相关的代码整理,跟着小编一起学习下吧。
    2017-12-12
  • JavaScript闭包原理与使用介绍

    JavaScript闭包原理与使用介绍

    闭包是js的一个难点也是它的一个特色,是我们必须掌握的js高级特性,下面这篇文章主要给大家介绍了关于JavaScript闭包函数的相关资料,需要的朋友可以参考下
    2022-10-10
  • js下拉菜单生成器dropMenu使用方法详解

    js下拉菜单生成器dropMenu使用方法详解

    这篇文章主要介绍了js下拉菜单生成器dropMenu的使用方法 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08

最新评论