跨浏览器JS

时间:2011-07-08 20:21:15

标签: javascript cross-browser

我正在开发一个项目来转换在Internet Explorer 8及更低版本中功能齐全的网站,但在Firefox或Safari中无效。

许多需要改变的内容将与javascript相关(也就是IE中存在的方法,但在其他浏览器中却没有)。

我想知道的是,是否有人知道一个相当全面的常见事项列表,必须更改为适用于所有浏览器。

我从quirksmode.org开始,但我认为它不会有我想要的所有内容。如果有人知道列表,请告诉我。

4 个答案:

答案 0 :(得分:4)

这里你最好的选择是使用Javascript工具包/库,如jQuery,MooTools或Prototype。这样的决定将为您节省大量的工作,并且所有这三项工作都在不断更新,这为您提供了很大程度的安全性,以防止未来的兼容性问题。特别是对于DOM操作或AJAX,库是最佳选择。

如果你绝对不能使用它,那么quirksmode是一个好的开始。我从来没有找到任何一个足够全面的资源来阻止我针对每个问题区域回到Google。

答案 1 :(得分:1)

老实说,如果您没有丰富的跨浏览器开发经验,我怀疑修复应用程序的最佳方法是在每个目标浏览器上设置一个良好的测试环境,并开始查找它的中断位置。你最终还是要在每个目标浏览器上进行测试,所以你也可以从那里开始。一旦您发现哪些代码导致特定错误失败,您就可以针对如何以跨浏览器方式解决该问题进行更有针对性的搜索。

随着时间的推移,您将建立一个良好的内部知识库,以便以跨浏览器的方式使用什么是安全的,哪些不是。即使是经验丰富的开发人员仍会在每个只能通过测试找到的项目上遇到新问题。然而,体验的一个优点是,您开始学习何时怀疑某些内容可能会或可能不会出现跨浏览器问题,并且在您使用它之前要么避免它(找到更安全的方式)或在几个浏览器中明确地测试它。

我发现http://jsfiddle.net非常适合创建非常有效的自包含测试用例,以便主动在其他浏览器中尝试某些内容,或者解决导致问题的问题。

正如其他人所说,各种浏览器库(如jQuery或其他浏览器库)的一个巨大优势是它们已经为您解决了很多这些兼容性问题,并且通常,如果它们在库中记录了一个函数而没有明确警告你有关跨浏览器的问题,然后他们已经完成了他们的功课,以确保你的安全。

答案 2 :(得分:0)

您可能还会发现,使用jQueryExtJsPrototypeMootols等javascript框架,对于编写跨浏览器非常有用的JavaScript。

答案 3 :(得分:0)

  

在Internet Explorer 8及更低版本中完全正常运行的网站,   但在Firefox或Safari中效果不佳

我强烈建议使用符合标准的浏览器(例如CSS3)进行开发。

这个过程应该是:使用FireFox或Chrome开发 - 并在以后修复所有IE版本。

嗯,这是我的日常面包......普通的是IE b * tch,这让我的时间充裕......