我在引用的字符串中使用HTML收到以下错误:
错误第63行,第39栏:文档类型不允许元素“html”在这里
mywindow.document.write("<html><head><title>mydiv</title>");
上面提到的元素是在不允许的上下文中找到的。这可能意味着您有错误的嵌套元素 - 例如“body”部分中的“style”元素而不是“head”内部 - 或者两个重叠的元素(不允许)。
我做错了什么或是W3C验证器给出了不好的结果?
答案 0 :(得分:0)
您不会在HTML文档中收到该错误。
因此,据推测,您正在编写XHTML。
我的第一条建议是:不要。 XHTML通常比它的价值更麻烦。 使用HTML 5而不是无效。
如果您需要使用XHTML,请参阅规范:
与HTML的区别:Script and Style elements
在XHTML中,脚本和样式元素被声明为具有#PCDATA 内容。因此,
<
和&
将被视为标记的开头,<
和&
等实体将被视为实体 XML处理器分别引用<
和&
。包装CDATA
标记部分中的脚本或样式元素的内容 避免扩展这些实体。<script type="text/javascript"> <![CDATA[ ... unescaped script content ... ]]> </script>
HTML兼容性指南:Embedded Style Sheets and Scripts:
如果您的样式表使用
<
或&
或]]>
,请使用外部样式表或> --
。 如果您的脚本使用<
或&
或]]>
或--
,请使用外部脚本。请注意,XML解析器可以以静默方式删除 评论。因此,“隐藏”脚本的历史实践 “注释”中的样式表使文档向后 兼容性可能无法在基于XML的用户代理中按预期工作。