jquery解决了哪些浏览器不兼容问题?

时间:2011-01-05 04:32:25

标签: jquery javascript

我目前正在使用或不使用jquery。我花了几个小时研究使用jquery(或任何库)的利弊。

jquery的一大卖点是它让开发人员免于担心浏览器不兼容。我试图找到关于它克服了哪些不兼容性的任何文档。到目前为止,我还没有找到任何。任何人都可以帮我解决这个问题。

5 个答案:

答案 0 :(得分:2)

你应该对www.quirksmode.org非常熟悉。

这是一个出色的浏览器兼容性资源。

答案 1 :(得分:1)

我认为您不会找到实际列表,但您可以浏览source code并阅读有关解决某些浏览器不一致问题的某些代码的评论。

实施例

// check if target is a textnode (safari)
if ( event.target.nodeType === 3 ) {
    event.target = event.target.parentNode;
}

// safari subtracts parent border width here which is 5px
this.supportsFixedPosition = (checkDiv.offsetTop === 20 || checkDiv.offsetTop === 15);

答案 2 :(得分:0)

仅举几例,jQuery实现了在不支持方法document.getElementsByClassName(即IE 8和之前的版本)的浏览器中按类名选择DOM元素。例如,您可以选择具有类myClass的所有元素,其中包含以下内容:$('.myClass')

jQuery在XMLHttpRequest对象周围有几个有用的包装器,它们对浏览器有不同的支持(参见here)。

此外,jQuery在DOM操作方面会考虑一些差异,例如修改元素的属性或向元素添加类,我记得,这在Firefox / IE中略有不同。

答案 3 :(得分:0)

我所知道的事情很少列在这里:

IE有一个与Mozilla不同的事件模型和一些实现DOM2事件模型的Gecko Borwsers。 jQuery通过引入jQuery事件模型,很好地证明了浏览器的独立性。

IE不支持css3,而Mozilla支持css3。 jQuery选择器独立于浏览器选择器行为。

Mozilla确实支持像document.getElementsByClassName这样的方法,但不是。但是jQuery类选择器也可以解决这个问题。

IE和Mozilla有不同的浮点属性,即它的styleFloat for Mozilla,它的cssFloat jQuery为cssFloat提供了标志,以便唯一地确定它。

jQuery还有另一个标志jQuery.boxModel,它告诉用户你的浏览器支持IE怪癖模式或W3C兼容的boxModel。

答案 4 :(得分:0)

我一直在使用jQuery一段时间了,我可以说26kb它的权重是一个非常小的价格,像许多其他文件只需要下载一次(之后它从缓存加载) 。

<强> 1。 [大量插件]

有许多不同解决方案的插件:画廊,验证,ajax,文件处理等。你也可以使用插件[修复CSS问题]

<强> 2。浏览器兼容性

虽然我无法找到jQuery适用的修复程序的文档列表,但您可以随时查看[源代码],它有很好的文档和分类,因此您可以看到发生的情况。

第3。一致的

当你在不同的项目上工作时,如果你继续使用图书馆,你每次都会从中学到更多,并且工作得更快。

<强> 4。社区

jQuery可能是javascript库中最大的,它带来了许多优势,如支持,教程和插件。

<强> 5。 DOM操作

jQuery sintax使得操作DOM非常容易,而不是document.GetElementsByTagName(“tag”)你可以做$(“tag”)

<强>底线

我可以告诉jQuery为我节省了很多时间,并且让事情变得更容易处理,我完全建议使用库。