我只是检查是否有效将<iframe>元素放在<noscript>元素中作为显示动态内容的后退.它使用HTML 5 doctype验证正常,但对于HTML 4.01,我收到以下错误:
第9行,第35列:元素"IFRAME"未定义
<iframe name ="test"src ="test.htm"> </ iframe>您已在文档中使用上面提到的元素,但您使用的文档类型未定义该名称的元素.此错误通常由以下原因引起:
- 不正确地使用带有使用框架的文档的"严格"文档类型(例如,您必须使用"框架集"文档类型来获取""元素),
- 通过使用供应商专有扩展,例如""或""(这通常通过使用CSS来实现期望的效果来修复).
- 通过在XHTML中使用大写标签(在XHTML属性和元素中必须全部为小写).
这就是我将HTML缩小为:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>I AM YOUR DOCUMENT TITLE REPLACE ME</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div>
<iframe name="test" src="test.htm"></iframe>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
该<iframe>元素在HTML 4.01规范中的以下URL中定义:http://www.w3.org/TR/html401/present/frames.html#h-16.5.
它传递了一个过渡的doctype,所以我想我的问题是"为什么它在严格的doctype中被禁止,即使它在规范中定义了?".