我正在尝试将我的页面验证为XHTML 1.0 Transitional(W3C)。 我有以下错误: 元素“嵌入”未定义 + 没有属性“src”, 没有属性“质量”, 没有属性“宽度” 没有属性“高度”, 没有属性“对齐”, 没有属性“bgcolor”, 没有属性“名称”
请参阅源代码:
<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;" />
请帮我通过此验证。
答案 0 :(得分:3)
正如@MichaelWagner所说,元素实际上“未在XHTML 1.0 Transitional标准中定义”。
但是,另一种解决方案可能是不更改文档类型,而是将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!
以下转换适用(从embed
到object
):
allowScriptAccess="sameDomain"
&gt; <param name="allowScriptAccess"
value="sameDomain" />
allowFullScreen="false"
&gt; <param name="allowfullscreen"
value="false" />
bgcolor="#000099"
&gt; <param name="bgcolor" value="#000099" />
quality="high"
&gt; <param name="quality" value="high" />
wmode="transparent"
&gt; <param name="wmode" value="transparent" />
pluginspage="http://www.macromedia.com/go/getflashplayer"
&gt; <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
答案 1 :(得分:1)
在XHTML1.0 Transitional标准中未定义embed
元素。您必须删除该元素或更改您的doctype才能通过测试。