糟糕!我多年来一直是开发人员,并一直试图强调与尽可能多的系统兼容的代码。
最近,我购买了这本书 jQuery in Action 并开始阅读它。我对包含的源代码似乎无法在我当前计算机上的任何一个浏览器上正常工作感到非常不安。
具体来说,我下载了book's source code并为第2章选择了“jQuery选择器实验室”。但是它并没有看到它在书中的作用。
在Google Chrome上,DOM Sample和DOM Sample Code窗格都是空的。在IE7上,事情看起来更接近它们在书中的表现。但是DOM示例代码窗格中的源代码全部在一行上(向右延伸,在页面外)。请注意,本书中的屏幕截图是在Mac上运行的浏览器。
我很好奇用户在使用jQuery时遇到了什么样的跨浏览器兼容性,以及这种启示对于那些希望尽可能兼容且计划使用jQuery的开发人员意味着什么。
答案 0 :(得分:10)
所有这些浏览器都积极支持jQuery:
根据以下列表,过时的浏览器存在已知问题:
jQuery通常可以与Konqueror和Firefox 1.0.x一起使用,但可能会有一些意想不到的错误,因为我们不会定期测试它们。
如果您使用的是任何过时的浏览器,那么这可能是您的问题,否则,您应该在stackoverflow上发布您的代码以获取帮助。它可能不是导致问题的浏览器,但它可能是编写或执行代码的方式。
答案 1 :(得分:3)
我认为您的部分问题是您正在从文件系统访问要从Web服务器加载的内容。例如,我在第2章的例子中看到了Chome中的这个错误:
XMLHttpRequest cannot load file://...chapter2/dom.sample.html.
Origin null is not allowed by Access-Control-Allow-Origin.
除了那种东西之外,Chrome中的事情似乎表现得相当不错。
我通常针对IE [789],Chrome,Firefox,Safari和Opera,我没有看到许多特定于jQuery或jQuery-UI的浏览器问题。问题主要是CSS问题和某些JavaScript问题(在IE中都是这两个问题)不是jQuery问题。
答案 2 :(得分:2)
我不会过分担心jQuery的跨浏览器兼容性,就像本书中的代码质量一样。我没有亲自看过这本书,所以我不能做出个人判断;但是,我是一个Web应用程序的首席开发人员,目前有大约15,000个用户,我们已经自信地使用jQuery几年了,没有任何问题。我们必须使用市场上的所有主流浏览器在多个平台上为客户提供支持。当jQuery代码正确编写并针对所有环境进行测试时,无论您使用何种浏览器,它都能正常工作。
答案 3 :(得分:2)
为以下桌面浏览器维护了jQuery的第3版:
还针对以下移动浏览器进行了维护:
答案 4 :(得分:0)
代码示例似乎使用过时的jQuery v1.4。下载最新版本并查看known issues以获取有关跨浏览器兼容性的更多详细信息。
答案 5 :(得分:0)
我不知道为什么但是如果我将整个示例目录复制到tomcat / webapps,它可以正常工作。但是如果我直接从浏览器打开页面(lab.selectors.html),它就不会显示dom示例部分。来自firefox控制台的错误消息是这样的:
[16:56:36.335]文件元素@ file:/// C:/JavaScript/jqia2/chapter2/dom.sample.html:2
之后的垃圾