在呈现HTML时禁用Firefox中的容差(或启用严格性)

时间:2012-03-09 20:02:23

标签: javascript html firefox fault-tolerance

Firefox在呈现错误的HTML时有一定的容忍度。这意味着即使遗漏了结束标记,HTML也会显示为好像一切正​​常。当使用JavaScript操作或添加当前页面中的内容时,此容差方面尤为重要。

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

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

PS:我尝试过使用DOCTYPE但结果是一样的。

3 个答案:

答案 0 :(得分:2)

请勿使用浏览器检查HTML;他们的设计并非如此。使用实际的验证器,例如the W3C's validator。有appear to be多个Firefox扩展可以通过点击或自动验证页面,虽然我不熟悉它们,因为我不使用Firefox作为我的主浏览器。

答案 1 :(得分:1)

我发现最好在IE中分解并完成主要工作。

如果你使用一个好的doctype(<!DOCTYPE html>)并将x-ua兼容的标题设置为IE8模式,你需要做的额外工作才能使应用程序在其他浏览器中工作/看起来很好最小的。

答案 2 :(得分:1)

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

对于浏览器的选择,我通常会全面开发;在一次坐下我可以在IE7 / 8/9模式,Chrome和Firefox之间切换。如果涵盖上述浏览器,Safari和Opera通常可以工作。这样我就不会走错路。

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