uno*_*ode 5 html javascript firefox fault-tolerance
Firefox在呈现错误的HTML时有一定的容忍度.这意味着即使遗漏了结束标记,HTML也会显示为好像一切正常.当使用JavaScript操作或添加当前页面中的内容时,此容差方面尤其重要.
由于我使用Firefox作为我的主要测试/开发浏览器,我不止一次受到这种行为的困扰,其后果是"更严格"浏览器中的功能丧失.例如,由于添加的内容上提到的缺少标记,Microsoft Internet Explorer中的相同代码无法生成任何可见输出.
现在的问题是,有没有办法告诉Firefox对接受的HTML更加严格而失败而不是"猜测修复"(特别是在通过JavaScript添加HTML时)?
PS:我试过玩DOCTYPE,结果是一样的.
所有解析器在某种程度上都是宽容的。大多数主流网站都有错误(并不是说这可以原谅,只是说)。如果您使用附加的调试器进行开发,您将更快地捕获脚本错误。我还通过在构建过程中使用缩小器来捕获脚本错误(这将在主要语法问题上失败)。我使用 Visual Studio 2010 的实时警告(并不总是完美的)来验证我的 HTML 标记,并定期使用 w3 验证器服务。
对于浏览器的选择,我一般都是全线开发;我可以一口气在 IE7/8/9 模式、Chrome 和 Firefox 之间切换。如果覆盖上述浏览器,Safari 和 Opera 通常可以工作。这样我就不会在错误的道路上走得太远。
顺便说一句,DOCTYPE这很重要(即使看起来并不总是如此)。