Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS跨浏览器不一致/差异_Javascript - Fatal编程技术网

Javascript JS跨浏览器不一致/差异

Javascript JS跨浏览器不一致/差异,javascript,Javascript,浏览器之间存在许多DOM/CSS不一致。但是浏览器之间有多少核心JS差异呢?最近让我大吃一惊的是,在Firefox中,setTimeout回调函数传递了一个额外的参数(https://developer.mozilla.org/en/window.setTimeout). 此外,现在浏览器正在实现新的功能(例如Array.map),如果您试图编写必须在所有浏览器上运行的代码(甚至回到IE6),那么您可能会对哪些可以/不能使用感到困惑 有没有一个网站可以清晰地组织这些类型的差异 好吧,我要打开一

浏览器之间存在许多DOM/CSS不一致。但是浏览器之间有多少核心JS差异呢?最近让我大吃一惊的是,在Firefox中,setTimeout回调函数传递了一个额外的参数(https://developer.mozilla.org/en/window.setTimeout).

此外,现在浏览器正在实现新的功能(例如Array.map),如果您试图编写必须在所有浏览器上运行的代码(甚至回到IE6),那么您可能会对哪些可以/不能使用感到困惑


有没有一个网站可以清晰地组织这些类型的差异

好吧,我要打开一个CW:

  • 在Firefox4
    函数之前。应用
    仅接受一个
    数组
    ,而不是类似数组的对象。参考号
  • 一些引擎(哪些引擎?)提升
    String的结果。原型
    方法从
    String
    提升到
    String
    。参考号
  • Firefox4可能会在看似同步的代码中插入“事件循环”。参考号
  • 早期的Firefox版本将接受对象文本中的尾随
    。Ref(在FF6中似乎是“固定的”)
  • Firefox和IE都错误地对待函数表达式产品(但不同)
  • Math.round/Math.toFixed。参考号
  • IE和W3C事件模型——两者都缺少另一个的事件/特性

我发现并拥有关于CSS和DOM怪癖的最佳表格。您可以使用jQuery解决这些不兼容问题。保罗·爱尔兰(Paul Irish)也提出了这一方案,其中包含了几乎所有您可能需要的polyfill,包括用于ES5方法(如Array.map)的polyfill。

似乎没有任何东西可以清楚地概括所有这些问题(实际上非常令人惊讶)。如果您使用jQuery,有一个很好的例子可以概括支持的浏览器和已知问题。我只是在问题出现时处理它们(无论如何,你都应该在所有情况下进行浏览器测试),如果你想确保编码正确,或者遇到问题需要知道修复方法,你可以记录它们。当您对特定主题进行快速搜索时,很容易找到问题

jquery的目的之一是弥合浏览器之间的差异,并为程序员提供独立于浏览器的API。这不是一个答案,而是一个很好的解决办法。此外,请参见此处以获取(一些)差异的列表:@Eran,jQuery解决DOM/CSS不一致的问题远远多于语言本身的不一致问题。如果您担心新功能,请在Google上搜索“es5 shim”一词。这是一个好问题,但您不认为它对于stackoverflow来说可能有点过于宽泛吗?看起来这更像是一个一般性的讨论主题,而不是一个具体的编码问题。@Ben Lee,我的问题是希望有一个我错过的网站,其中一些内容可以有人指出,但如果答案是“好吧,让我们列出清单”那么我可以同意你的观点有很多东西,比如很多浏览器都会用到很多数组方法。