XHTML 镶嵌 QuickTime 媒体
本文讨论了叁种在 XHTML 中镶嵌 QuickTime 媒体的有效语法。
引言
在 XHTML 网页中镶嵌影音媒体一直是个备受讨论的议题。最主要是由于 <embed> 不是 W3C 标準,加上 IE6 又引入了 ActiveX,使得大家有点不知所措。因为小弟在网页中常常会镶嵌 QuickTime 媒体,所以对这个问题做了一些 review,希望对网页创作者有些帮助。
以我所知,有效的方法有三种:
-
<object><embed></embed></object>巢状结构语法 -
以 Javascript 插入
<object><embed></embed></object> -
<object><object></object></object>巢状结构
实际做法
以下将分别讨论这叁种方法。
1. <object><embed></embed></object> 巢状结构语法
此方法是最常见的方式,但不能通过 W3C 检测。请见以下的例子。
<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" width="320" height="256" codebase="http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0" align="middle"> <param name="src" value="sample.mov" /> <param name="autoplay" value="true" /> <embed src="sample.mov" width="320" height="256" pluginspage=http://www.apple.com/quicktime/download/ align="middle" autoplay="true" bgcolor="black" > </embed> </object>
2. 以 Javascript 插入 <object><embed></embed></object> 的巢状结构语法
此方法是 Apple 官方说法。只是将第一个方法改用 Javascript 写出来,以逃避 W3C 的检测。但在本质上,是完全相同的。请参考 Preparing Websites with Active Content for Upcoming Changes to Internet Explorer for Windows,其中介绍了二种方法。一种为直接撰写 Javascript 以取代 <object><embed></embed></object> 巢状结构语法,另一种则是以 Apple 官方提供的 Javascript Function 来完成。个人比较喜好后者,因为该 Function 很容易使用且语法简单。无论哪种方式,都可以避开 <embed>的存在而通过 W3C 检测。但是一旦用户端关闭 Javascript,则完全没有作用。
3. <object><object></object></object> 巢状结构
此方法由 realise.com 提出,请参考 XHTML Quicktime Object 以了解作法。本方法不使用 <embed> 故可通过 W3C 检测,且在各种新版浏览器都有不错的表现。这项方法有一特色是必须配合 CSS 以使 IE 有正常表现。但是依自己的经验,若在 <object> 中需要 target 等标籤,仍不能通过 W3C 检测,因为某些 <object> 内的标籤在 W3C 规範中也不被接受。
结论
如果您不在乎 W3C 标准,那其实什么方法都不错。如果您在乎 W3C 标準,请参考第二项及第叁项解决方案。虽然第二项解决方案还蛮完美的,但若用户端关闭 Javascript,则完全失效。所以,真的没有一项完全 100 分的解决方案就是了!囧。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
