3

我是网络编程新手,但我想问一个问题:为什么无效的 HTML 有效?为什么不需要验证 html?

<html>
<body>
</html>

即使包含上述语法错误,也会显示 html 文件。为什么会这样?

4

4 回答 4

0

浏览器可以自动纠正无效的 HTML,因此可以显示页面而不向用户显示错误消息。

最好显示一些东西而不是错误消息。大多数情况下,如果出现错误,您仍然可以使用页面。如果您显示外部广告,并且该广告包含无效的 HTML,那么您的页面只会显示错误,因为某些外部广告未能提供有效的 HTML。

但是,如果 Strict XHTML 页面未通过验证,则会显示错误消息。

于 2013-10-30T07:22:27.043 回答
0

简单的答案是,这显然是市场经济在起作用。作为普通用户,您不会关心 HTML 验证,而且通常甚至不知道它是什么。重要的是页面在您的浏览器中看起来不错。如果一个浏览器严格遵循 w3c 标准并拒绝呈现有错误的页面,而另一个浏览器只是忽略错误并尽可能地呈现页面,那么不难想象人们会选择哪种浏览器。

但是,正如其他人已经说过的那样,即使并非总是需要,您仍然应该尝试编写正确的代码。HTML 引擎一直在改变行为,现在可能起作用的东西明年可能不起作用。此外,您遇到的错误越多,一切最终都会崩溃的可能性越大。

于 2013-10-30T07:48:16.220 回答
0

因为如果页面包含错误,浏览器会尽最大努力“猜测”您想要什么。而且这种猜测会因浏览器而异。因此,页面可以根据您使用的浏览器以不同的方式呈现。

于 2013-10-30T07:53:24.080 回答
-2

尽管浏览器会尝试显示您的 HTML,即使有错误,也有一些很好的理由来验证您的 HTML:

虽然 HTML 可能会显示,但它的显示可能与正确编写时不同。错误会相互叠加。一个错误可能显示正常,两个可能有小问题,5-10 可能导致页面显示完全不正确。虽然大多数现代浏览器都是宽容的,但像手机、PDA 等较新的用户代理可能没有那么宽容。破损的页面会失去你的读者。未来的浏览器可能不支持无效的 HTML,尤其是在它已被弃用的情况下。因此,虽然该标签现在可以工作,但未来的浏览器可能不支持它,然后您使用该标签的页面将不再工作。

在这里阅读更多http://webdesign.about.com/od/beginningtutorials/f/invalid_html_ok.htm

于 2013-10-30T07:14:28.593 回答