2016-04-18 41 views
-1

我有一个奇怪的错误!DOCTYPE html!DOCTYPE html销毁页面

当我尝试使用HTML5 Doctype时,那么我的页面看起来很奇怪。所有脚本看起来都没有正确关闭。

但是当我更改为!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"时,那么一切看起来都不错。

我不明白页面结构有什么问题,以及为什么只发生在HTML5上。

+1

你是否通过HTML验证器运行你的页面? – j08691

+0

你使用IE吗?你有没有在不同的浏览器中尝试过它? – Styl

+0

@ j08691no,我没有因为现在它在我的本地。 – Oleg

回答

0

谢谢大家,为您的帮助!

我发现我可以解决它。在我的情况下,错误是在一个扩展中,它在观察者中使用$dom->saveXML()方法。并在渲染此方法之前解析DOM并删除/替换HTML输出。

2

HTML5完全删除并重新编写了许多HTML4元素(基于XHTML 1.0)。如果一个网站主要使用XHTML 1.0进行编码,那么您不能只是切换到HTML5并假设事情不会中断。

您最好的选择是通过W3C的HTML验证程序在https://validator.w3.org运行您的转换文档类型代码,并查看它生成的错误和警告。这应该让你知道为什么事情不像你想要的那样工作。

+0

它更糟:它的XHTML :) –

+0

我认为他描述的是相反的。 – Styl

+1

HTML5被设计为向后兼容遗留网站 - 尽管许多HTML 4元素的语义已经发生了变化,但实现不会突然以不同的方式从一种严格的文档类型切换到另一种。 – BoltClock