XHTML的最终要求是,使得所有网页和浏览器按照而且只按照XHTML 1.0 Strict这个最高标准来控制内容。
传统的FLASH媒体的插入是使用<embed>标签,可惜的是这个标签是不被W3C XHTML 1.0 Strict所认可的,在W3C的FAQ里有过描述。W3C认为,<embed>标记从来就不曾是标准的一部分,只是浏览器大战留下来的炮灰罢了(好像是Netscape一方的)。同时,这篇FAQ里还提到了关于这个问题的一篇著名文章,称为Flash Satay方法。这个方法由Drew McLellan提出,主要思想是通过一个只有一句AS语句的FLASH桥达到载入参数传进的Flash文件的办法。同时,使用<object>标签替代<embed>标签。

可惜的是,这个方法未免太复杂了一些。此外还有很多人想到使用JavaScript来动态加入<embed>的Flash内容,这无异于饮鸩止渴,将表现层和行为层混为一谈,我认为是绝不可取的办法。

Joen Asmussen的博客Noscope里评价了这两种方法,并且指出仅仅使用<object>标签,不使用桥Flash也可以达到在XHTML 1.0 Strict合法的前提下插入FLASH内容的效果。Hixie具体地描述了这个方法。可惜的是,他的代码在我这里只在IE中有效,而在Firefox里却有些问题。这应该是Wordpress自动完成标记的副作用。

经过我的实验,可以正常使用的代码如下所述:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" width="480" height="400">
<param name="movie" value="movie.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#FFFFFF" />
<object data="movie.swf" width="480" height="400" type="application/x-shockwave-flash">
<param name="quality" value="high" />
<param name="bgcolor" value="#FFFFFF" />
<param name="pluginurl" value="http://www.macromedia.com/go/getflashplayer" />
</object>
</object>

为了在Wordpress里面直接用而避免编辑器进行不必要的转换,建议使用下面这个无换行版。

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" width="480" height="400"><param name="movie" value="movie.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#FFFFFF" /><object data="movie.swf" width="480" height="400" type="application/x-shockwave-flash"><param name="quality" value="high" /><param name="bgcolor" value="#FFFFFF" /><param name="pluginurl" value="http://www.macromedia.com/go/getflashplayer" /></object></object>

你需要做的,仅仅是替换里面的两个movie.swf成你想要的,然后修改width和heigth成你想要的大小,就可以放心通过XHTML 1.0 Strict验证了。

最近一直在关注有关XHTML, JavaScript, ECMAScript, CSS, DOM这些技术,加上在实验室里一直在做的SVG技术,基本上都是W3C的重点技术。
之前我一直很倡导DIV+CSS网页设计,现在看来几乎变成了通用的标准。刚学习Ajax的时候,也没什么书可以看,就看会了那些基本原理,然后自己琢磨一整天,搞出一套自己的设计模式,分离内容层,表现层和行为层,现在看来还是很先进的。
今天,受IE8宣布全面遵循Web标准的刺激,我决定,我的blog也全面遵循标准吧~
抛弃那些不受标准支持的特性,_blank就不要了。于是,一个遵循XHTML 1.0 Strict标准的网站诞生了。

透露一个小计划。我注册了一个新域名,准备用来关注Web设计和Web标准。