W3C 验证结果与控制台中的源代码不匹配?

W3C Validation results don't match source code in console?

我正在尝试验证一个页面,但是,我得到了一些令人困惑的结果。

W3C 验证结果如下:错误 1、2、3 和 5、6、7 都是同一个问题,其中与 h3h2.

这是 W3C 验证器显示的来源:

这是我在控制台中看到的:

来自 W3C 验证器的结果

主页 - http://web1c.snow.studiocoast.com.au/

https://validator.w3.org/nu/?showsource=yes&doc=http%3A%2F%2Fweb1c.snow.studiocoast.com.au%2F#l282c50

错误 1: 已看到结束标记 h2,但存在开放元素。 来自第 282 行,第 46 列;到第 282 行,第 50 列 当前新闻****

错误 2: 已看到结束标记 h2,但存在开放元素。 来自第 295 行,第 46 列;到第 295 行,第 50 列 订阅****

错误 3: 已看到结束标记 h2,但存在开放元素。 来自第 308 行,第 48 列;到第 308 行,第 52 列 我们的理念****

警告 4:文章缺少标题。考虑使用 h2-h6 元素为所有文章添加识别标题。 来自第 329 行,第 3 列;到第 329 行,第 100 列 区域”>↩↩↩↩


索赔页面 - http://web1c.snow.studiocoast.com.au/claims/

https://validator.w3.org/nu/?showsource=yes&doc=http%3A%2F%2Fweb1c.snow.studiocoast.com.au%2Fclaims%2F#l282c50

错误 5: 已看到结束标记 h2,但存在开放元素。 来自第 326 行,第 45 列;到第 326 行,第 49 列 评价****↩

错误 6: 已看到结束标记 h2,但存在开放元素。 来自第 338 行,第 45 列;到第 338 行,第 49 列 评价****↩

错误 7: 已看到结束标记 h2,但存在开放元素。 来自第 350 行,第 45 列;到第 350 行,第 49 列 评价****↩

错误 8: 禁止代码点 U+0003。 在第 409 行,第 219 列 钱索赔表

您的代码截图似乎来自 Chrome Inspector。右键单击您的页面,然后单击 "View Source"。那是你的原始源代码。

当浏览器发现诸如缺少结束标记或不匹配标记之类的错误时,它们会尽力解释您的意思。

w3c 验证器向服务器发送请求(与浏览器的方式完全相同),获取结果(文本内容,可能是 HTML 结构化的)运行 验证针对此内容。

但是 - 当您的浏览器接收到页面内容时,它需要对其进行解析并确保其结构有效(否则浏览器将无法呈现代码),因此它 "fixes"您在验证器中看到的一些问题。此外 - 您的浏览器还 运行s 页面中存在的任何 javascript 代码(验证器不存在),因此如果您页面中的 DOM 有任何更改由 javascript 完成 - 验证器不会看到这些更改(而你的浏览器会 - 当你 "inspect" 元素时)。

如果(例如)您有代码 <h2>some title</h3>,这是无效的 - 您的浏览器会自动将其更改为 <h2>some title</h2> 以正确呈现它。

请注意,当您在浏览器中 "view source" - 您得到的结果与验证器所做的完全相同。当您 "inspect element"(或转到开发人员工具栏中的 elements 选项卡)时,您会在浏览器修复后获得页面的 DOM 和所有 javascript 运行).