最近,我发现Internet Explorer flat-out不支持jQuery中的某些选择器(参见Why can't Internet Explorer run this simple jQuery?)。我的问题是:在编写代码时,我怎么知道我的代码才真正起作用?由于我在Linux上,我的选择只是Chrome和Firefox。是否有一个工具可以模拟主要浏览器的功能,以测试给定站点的兼容性?上面帖子中提到的我的整个脚本由于一些原因失败了,但主要是因为选择器没有得到任何东西。
我最初认为jQuery是跨浏览器兼容的,但似乎选择器因浏览器而异。有没有办法测试?
答案 0 :(得分:3)
作为Linux用户并不意味着您无法使用Internet Explorer。创建并启动虚拟机,例如VirtualBox,并模拟Windows + Internet Explorer。
答案 1 :(得分:1)
indexOf
函数与jQuery无关。这是一个数组函数。选择器工作得很好,只是你用来处理结果的代码不是跨浏览器兼容的。
答案 2 :(得分:1)
是的,跨浏览器测试只是一个PITA。围绕它没有真正好的方法。如前所述,使用各种操作系统配置设置virtual machines是一种很好的方法。但是,在线有几种“云”服务允许您“租用”可以进入和调试的框。我通过快速Google搜索找到的一个例子是:http://www.cloudtesting.com/
虽然jQuery是一个跨平台的库,但并不意味着在某些浏览器或某些版本的不同浏览器上不存在错误。 jQuery是一个开源项目,如果你在他们的平台上发现bug,欢迎你修复它们,或者至少report them来解决它们。
对于特定的IE错误,通常会有一些解决方法。例如,如果Array不支持indexOf,您可以通过修改Array.prototype
答案 3 :(得分:0)
您可以使用browsershots在很多浏览器中获取屏幕截图。
有时您需要等待很长时间才能获得屏幕截图,并且代码必须可供任何计算机访问。但这并不像是你把它发布给每个人。
我知道有时,截图不会削减它。但总比没有好。