知识库

使用 SWFObject.js 插入Flash且符合W3C标准 ,SWFObject参数

最近看到了好几个Flash网站,head代码里都加载了一个swfobject.js,这个JS究竟有什么作用呢?眼下正在做一个Web页面,说不定刚好可以派上用场。于是,好奇的搜索了一下。原来这是老外开发的,用于在HTML中方面插入Adobe Flash媒体资源(*.swf文件)的独立、敏捷的JavaScript模块,该模块中的JavaScript脚本能够自动检测PC、Mac机器上各种主流浏览器对Flash插件的支持情况。目前最新的版本是2.2,这里可以下载最新版的SWFObject:
http://code.google.com/p/swfobject/

“SWFObject”是利用Javascript 插入flash,好处多多啊

1.不会出现IE6下的“单击此处以激活控件”的提示,不同于传统的“object”插入flash的方法。
2.IE中没有讨厌的虚框问题了。
3.提供了完善的版本检测功能,如果版本不够则显示其他东西,比如图片或文字。
4.易于使用,只要在页面头加载一个 .js 文件,然后 HTML 写一个容器,里面放普通的文本或图片(用于无法显示 Flash 时显示),最后用脚本来替换这个元素里面的内容为 Flash。
5.使得插入Flash媒体资源尽量简捷、安全。而且它是非常符合搜索引擎优化的原则的。
6.能够避免HTML、XHTML中出现object、embed等非标准标签,从而符合更加标准,并且能通过W3C验证。

 
 

SWFObject在新的2.x版本中,只需要包含 swfobject.js这个js文件,然后在DOM中插入一些简单的JS代码,就能嵌入Flash媒体资源了,其最简单的调用竟只需一句话,并且不需要等待页面加载完成,这意味着你可以将这句话写在页面的任何地方。比以前的版本,要简便多了。下面来看几个简单常用的调用方法:

1、最简单,最基本,只要想插入flash都能用到的经典一句话。

<script type="text/javascript" src="swfobject.js"></script> 
<script type="text/javascript"> 
    swfobject.embedSWF(
"test.swf""swfid""300""120""9.0.0""expressInstall.swf"); 
</script>

<div id="swfid"></div>
 

 

参数注解:调用方法embedSWF——插入SWF文件,参数依次是:
@swf文件的地址;
@用于装入swf文件的容器(如div)的id;
@flash的宽度;
@flash的高度(当然,这里的宽高都可以使用诸如100%这样的百分比来表示);
@正常播放该flash所需的最低版本;
@当版本低于要求时,执行该swf文件,这里利用这个flash跳转到官方下载最新版本的flash插件。(该参数可以省略)
在同一个页面插入多个flash到不同位置时,只要重复上面的语句,使用不同的容器id就可以了。

2、给swf文件传递参数、变量、属性的调用方法

 

<script type="text/javascript" src="swfobject.js"></script> 
<script type="text/javascript"> 
//1、使用Json初始化变量、参数、属性 
    var flashvars = { 
      name1: 
"hello"
      name2: 
"world"
      name3: 
"foobar" 
    }; 
    
var params = { 
      menu: 
"false" 
    }; 
    
var attributes = { 
      id: 
"dynamicContent2"
      name: 
"dynamicContent2" 
    }; 
    swfobject.embedSWF(
"test6_flashvars.swf""content2""300""120""6.0.0""expressInstall.swf", flashvars, params, attributes); 
 

//2、传统的初始化设置,效果一样 
    var flashvars = {}; 
    flashvars.name1 
= "hello"
    flashvars.name2 
= "world"
    flashvars.name3 
= "foobar"
    
var params = {}; 
    params.menu 
= "false"
    
var attributes = {}; 
    attributes.id 
= "dynamicContent3"
    attributes.name 
= "dynamicContent3"
    swfobject.embedSWF(
"test6_flashvars.swf""content3""300""120""6.0.0""expressInstall.swf", flashvars, params, attributes); 
//3、直接写在后面,就一句话,简洁剽悍,不拖泥带水 
    swfobject.embedSWF("test6_flashvars.swf""content5""300""120""6.0.0""expressInstall.swf", {name1:"hello",name2:"world",name3:"foobar"}, {menu:"false"}, {id:"dynamicContent5",name:"dynamicContent5"}); 
</script>

 

本文关键词 / 参数,SWFObject
微信扫一扫
官方微博

点击拨打免费服务热线 4008203730

展开