浏览器之间存在大量DOM / CSS不一致。但浏览器之间存在多少核心JS差异?最近让我失望的是,在Firefox中,setTimeout回调函数会传递一个额外的参数(https://developer.mozilla.org/en/window.setTimeout)。
此外,现在浏览器正在实现新功能(例如Array.map),如果您尝试编写必须适用于所有浏览器的代码(甚至返回到IE6)。
是否有一个网站可以清晰地组织这些类型的差异?
答案 0 :(得分:5)
我发现QuirksMode和WebDevout拥有关于CSS和DOM怪癖的最佳表格。您可以使用jQuery来弥补这些不兼容性。 Paul Irish也开始this great list,其中包括您可能需要的任何填充物,包括用于ES5方法的填充物,例如Array.map。
答案 1 :(得分:1)
好吧,我打算开一个CW:
Function.apply
之前,只接受Array
,而不是类似数组的对象。参考MDC: Function.apply String.prototype
方法的结果从string
提升为String
。参考a String.prototype's "this" doesn't return a string? ,
。参考trailing comma problem, javascript(在FF6中似乎“已修复”)。答案 2 :(得分:1)
似乎没有任何明确概述所有这些问题的东西(实际上非常令人惊讶)。如果你使用jQuery,那么有一个很好的browser compatibility doc section概述了支持的浏览器和已知问题。我只是处理它们出现的问题(因为你应该在所有情况下都应该进行浏览器测试),如果你想确保正确编码或者遇到问题需要知道修复,你可以记录它们。当您对特定主题进行快速搜索时,很容易发现问题。