我正在尝试验证我的页面是否为XHTML 1.0过渡(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;" />
请帮助我通过此验证。
@MichaelWagner所说,元素实际上"没有在XHTML 1.0过渡标准中定义"。但是,另一种解决方案可能是不更改文档类型,而是将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"
><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
XHTML1.0 过渡标准中未定义embed
元素。您必须删除元素或更改文档类型才能通过测试。