关于符合W3C标准的插入Flash方法

分类:Web之旅 | 发布者:Tim | 发布日期: 2007-12-30 | 天气:不指定  | |
用DW插入的Flash方法!
是无法通过 W3C验证的,因为兼容性插入的embed 标签不符合W3C标准。
还有就是你一般上看到网页上的大部分Flash是不是有个“单击以激活并使用此控件”框?
嘿嘿!如果你想要你的网页符合XHTML 1.0标准而努力,如果你不想你网页上的Flash有“单击以激活并使用此控件”框,那么就可以同过下面方法来解决这个问题!

就是SWFObject

SWFObject是一个用于在HTML中方面插入Adobe Flash媒体资源(*.swf文件)的独立、敏捷的JavaScript模块。该模块中的JavaScript脚本能够自动检测PC、Mac机器上各种主流浏览器对Flash插件的支持情况。它使得插入Flash媒体资源尽量简捷、安全。而且它是非常符合搜索引擎优化的原则的。此外,它能够避免您的 HTML、XHTML中出现object、embed等非标准标签,从而符合更加标准。
(即:通过text/html应答页面, 而非application/xhtml+xml)
根据官方信息,因法律原因SWFObject是从FlashObject更名过来的

SWFObject JS文件
点击下载 SWFObject 1.5 - Zip 文件, 内含swfobject.js 和其他说明范例文档。(官方地址:官方Blog

下载完后请把里面的swfobject.js文件复制到你的网站目录下
然后在你的网页中的head标签中调用此JS文件
<script src="swfobject.js" type="text/javascript"></script>


最后在你插入的Flash的位置里写入以下代码:

<div id="flashcontent">
<!--这个层放置如果浏览者没有装Flash Player插件或禁用JavaScript和Flash时提示给用户的信息-->
</div>
<script type="text/javascript">
   var so = new SWFObject("movie.swf", "mymovie", "200", "100", "7", "#336699");
   so.addParam("quality", "high");
   so.addParam("wmode", "transparent");
   so.addParam("salign", "t");
   so.addVariable("variable1", "value1");
   so.write("flashcontent");
</script>



说明一下里面的参数:
var so = new SWFObject("url","id", "width", "height", "version", "background-color");

url就是你的Flash地址;
id是SWF文件分配的id值;
用于给embed与object标签设定name属性;
width是宽;
height是高;
version是flash版本;
background-color背景颜色十六进制(#FFFFFF)

so.addParam("quality", "high");
so.addParam("wmode", "transparent");
so.addParam("salign", "t");
so.write("flashcontent");

内联参数(有更多的内联参数请看adobe官方):
quality是Flash的质量有:low, high, autolow, autohigh, best这些值;
wmode是Flash显示方式有:window, opaque, transparent这些值(其中transparent是能使你的Flash背景透明,非常实用);
salign是Flash的对齐方式有:l, t, r, b, tl, tr, bl, br这些值(分别是:左、上、右、下、左上、右上、左下、右下);

flashcontent是那个层的id(这里是将Flash资源应用赋值到层里面,在浏览器显示出来。)

so.addVariable("variable1", "value1");

以下为引用部分

用Flashvars是在预加载Flash时传入数据的最佳做法,语法格式与GET变量串非常类似,如:variable1=value1&variable2=value2&variable3=value3SWFObject帮助您将这项工作变得更加明确化

<script type="text/javascript">
   var so = new SWFObject("movie.swf", "mymovie", "200", "100", "7", "#FFFFFF");
   so.addVariable("variable1", "value1");
   so.addVariable("variable2", "value2");
   so.addVariable("variable3", "value3");
   so.write("flashcontent");
</script>


如果你需要深入了解SWFObject
请到SWFObject官方英文介绍 | 网友汉化介绍
文章出处:  本文为Azuresky Blog原创,转载请注明"作者"和"出处"及本声明!
Tags: , ,