5

Firefox 在呈现糟糕的 HTML 时有一定的容忍度。这意味着即使省略了结束标记,HTML 也会像一切正常一样显示。当使用 JavaScript 在当前页面中操作或添加内容时,这种容差方面尤其重要。

由于我使用 Firefox 作为我的主要测试/开发浏览器,我不止一次被这种行为所困扰,其后果是在“更严格”的浏览器中失去功能。例如,Microsoft Internet Explorer 中的相同代码无法生成任何可见的输出,因为在添加的内容中提到了缺少的标签。

现在的问题是,有没有办法告诉 Firefox 对接受的 HTML 更加严格并且失败而不是“猜测修复”(特别是当通过 JavaScript 添加 HTML 时)?

PS:我试过玩 DOCTYPE 但结果是一样的。

4

3 回答 3

2

不要使用浏览器检查您的 HTML;他们的设计初衷并非如此。使用实际的验证器,例如W3C 的验证器似乎有很多Firefox 扩展程序可以通过单击或自动验证页面,尽管我不熟悉它们,因为我不使用 Firefox 作为我的主要浏览器。

于 2012-03-09T20:14:23.277 回答
1

我发现最好只是分解并在 IE 中做你的主要工作。

如果您使用良好的 doctype ( < !DOCTYPE html > ) 并将 x-ua-compatible 标头设置为 IE8 模式,那么您必须做的额外工作才能使应用程序在其他浏览器中工作/看起来不错。

于 2012-03-09T20:07:18.073 回答
1

所有解析器都在某种程度上宽容。大多数主流网站都有错误(并不是说这可以原谅,只是说)。如果您使用附加的调试器进行开发,您将更快地捕获脚本错误。我还通过在构建过程中使用缩小器来捕获脚本错误(这将在主要语法问题上失败)。我使用 Visual Studio 2010 的实时警告(并不总是完美)验证我的 HTML 标记,并定期使用 w3 验证器服务。

对于浏览器的选择,我通常是全线开发;一口气我可以在 IE7/8/9 模式、Chrome 和 Firefox 之间切换。如果上述浏览器被覆盖,Safari 和 Opera 通常可以工作。这样我就不会在错误的道路上走得太远。

顺便说一句,DOCTYPE很重要(即使看起来并不总是这样)。

于 2012-03-09T20:22:43.077 回答