SWFObject Flash 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/

(0)

相关推荐

  • 可以媲美Flash的JS导航菜单

    媲美Flash的JS导航菜单 .table1 { BORDER-RIGHT: #cccccc 1px solid; BORDER-BOTTOM-COLOR: black; BORDER-LEFT: #cccccc 1px solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: black; BACKGROUND-COLOR: #666666; BORDER-BOTTOM-STYLE: solid } .alp { FILTER: Alpha(Opaci

  • 比较简单的一个符合web标准的JS调用flash方法

    微软XP升级出现的bug,就是对于使用传统网页制作模式插入页面的flash无法正常浏览,页面打开的时候flash周围是一个虚线框,需要点击一下才能正常浏览,以下的办法就是解决这一缺点,并且让flash能符合WEB标准,此外最重要的是,整个网站的所有flash都可以调用这一段代码,让你的代码更加简洁! 1.先建立一个flash.js的JS文件,并写入 复制代码 代码如下: function flash(ur,w,h){  document.write('<object classid="cl

  • 用js实现的一个Flash滚动轮换显示图片代码生成器

    复制代码 代码如下: <!--文件头模板--> <SCRIPT src=top.js></SCRIPT> <SCRIPT language=javascript>     writeTop('Flash滚动显示图片代码生成','2006-10-18'); </SCRIPT> <!--以下为内容--> <SCRIPT> //运行代码 function runEx(cod1)  {      cod=document.getE

  • 纯js无flash仿搜狐女人频道FLASH图片切换效果代码

    前2个星期看到一位朋友说如何用JS实现http://women.sohu.com/这个页中FLASH图片切换效果,这两天有空,做了一个,大家评评: [加载图片慢点请等会] www.jb51.net 我们 JS图片切换 :: * { margin:0; padding:0; } body { margin:0; color:#88c; background:#333; } img { margin:0; padding:0; border:0; } #js_F { position:relativ

  • Javascript 判断Flash是否加载完成的代码

    先定义进度条显示层: 复制代码 代码如下: <div><span class="intro">下载进度:</span> <div class="barborder"> <div class="bar" id="loadpercent"></div> </div> </div> 定义广告层: 复制代码 代码如下: <div id

  • 用javascript实现的仿Flash广告图片轮换效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

  • JavaScript仿flash遮罩动画效果

    本文实例为大家分享了JavaScript仿flash遮罩动画的具体实现代码,供大家参考,具体内容如下 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>仿flash遮罩动画</title> <meta name="keywords" content=""> <meta name="

  • flash与js通讯方法

    今天主要学习一下js与flash是如何通讯滴. 1.先学习一下 getURL(url, window, variables) 使用 getURL 语句,可以让指定的浏览器窗口,转向显示指定的URL地址.参数(url)指定要显示WEB页面文档的 URL 地址.参数(window)指定要要显示WEB页面文档的浏览器窗口,它可以是指定为自定义的窗口名称,也可以 如果想让它执行调用js函数执行,那么可以这样 on (release) {   getURL(\"JavaScript:alert('hell

  • JS+FLASH幻灯片播放图片脚本,整理了代码,使得调用更加方便!

    JS+FLASH幻灯片播放图片脚本,整理了代码,使得调用更加方便很多大站上都有的JS+FLASH幻灯片播放图片脚本,整理了代码,使得调用更加方便! 生成幻灯片式的网页图片效果演示 生成幻灯片式的网页图片效果演示 // 幻灯片式的网页图片滚动函数(不需要做任何改动) // 本程序由广州房产网整理,欢迎转载及提意见,版权没有 function roll_pic_flash(roll_pic_ary) { // 生成幻灯片式的网页图片滚动代码 var w = roll_pic_ary[3][0]; v

  • JS仿flash上传头像效果实现代码

    先看效果图(在FF下): 下面是我整个的思路: 一.用ajaxFileUpload.js异步上传图片.这个不用多说了,挺简单的东西. 二.div拖拽用jquery-ui.这个也不多说了. 三.上传过图片的处理. 编辑容器是300*300,如果图片不在300*300之内,这里会生成一个maxHeight=300,maxWidth=300的缩略图, 用于设置编辑容器的背景,如果原文件为123.jpg,这里生成的文件为123.jpg.view.jpg,当然,文件123.jpg.view.jpg可能不会

随机推荐