元素 "embed" 未定义,XHTML 1.0 过渡 (W3C)

Element "embed" undefined, XHTML 1.0 Transitional (W3C)

我正在尝试将我的页面验证为 XHTML 1.0 Transitional (W3C)。 我有以下错误: 元素 "embed" 未定义 + 没有属性 "src", 没有属性 "quality", 没有属性 "width" 没有属性 "height", 没有属性 "align", 没有属性 "bgcolor", 没有属性 "name"

请看源码:

<embed src="<?php info(template_directory); ?>/images/top-flash.swf"
    quality="high" bgcolor="#000099"
    width="960" height="362"
    name="flash" align="left"
    allowScriptAccess="sameDomain"
    allowFullScreen="false"
    wmode="transparent"
    type="application/x-shockwave-flash"
    pluginspage="http://www.macromedia.com/go/getflashplayer"
    vspace="0" hspace="0"
    style="padding:0; margin:0;" />

请帮助我通过此验证。

XHTML1.0 过渡标准中未定义 embed 元素。您必须删除该元素或更改您的文档类型才能通过测试。

正如@MichaelWagner 所说,元素确实是 "not defined in XHTML 1.0 Transitional standard"。 但是,另一种解决方案可能是不更改文档类型,而是将 embed 更改为 object。 因此,包含 .swf 文件的代码可能如下所示:

<object type="application/x-shockwave-flash" data="TEMPLATE_DIRECTORY/images/top-flash.swf" width="960" height="362" name="flash" align="left" style="padding:0; margin:0;">
    <param name="movie" value="TEMPLATE_DIRECTORY/images/top-flash.swf" />
    <param name="allowScriptAccess" value="sameDomain" />
    <param name="allowfullscreen" value="false" />
    <param name="bgcolor" value="#000099" />
    <param name="quality" value="high" />
    <param name="wmode" value="transparent" />
    <a href="http://get.adobe.com/flashplayer/">Get Adobe Flash Player</a>
</object>

结果: This document was successfully checked as XHTML 1.0 Transitional!

以下转换适用(从 embedobject):

  • allowScriptAccess="sameDomain" > <param name="allowScriptAccess" value="sameDomain" />
  • allowFullScreen="false" > <param name="allowfullscreen" value="false" />
  • bgcolor="#000099" > <param name="bgcolor" value="#000099" />
  • quality="high" > <param name="quality" value="high" />
  • wmode="transparent" > <param name="wmode" value="transparent" />
  • pluginspage="http://www.macromedia.com/go/getflashplayer" > <a href="http://get.adobe.com/flashplayer/">Get Adobe Flash Player</a>

别忘了把TEMPLATE_DIRECTORY/images/top-flash.swf改成原来的<?php info(template_directory); ?>/images/top-flash.swf