2011-10-31 29 views
-1

最近,我发现Internet Explorer平面不支持jQuery中的某些选择器(请参阅Why can't Internet Explorer run this simple jQuery?)。我的问题是:如何知道在写代码时我的代码实际上可以工作?由于我在Linux上,我的选择只是Chrome和Firefox。有没有一种工具模拟主要浏览器的功能来测试给定站点的兼容性?我在上面的帖子中提到的所有脚本都因为几个原因而失败,但很大程度上是因为选择器没有任何功能。有没有工具来确定我的jQuery是否会运行跨浏览器?

我最初认为jQuery是跨浏览器兼容的,但它似乎不同浏览器的浏览器。有没有一种测试方法?

+3

你有没有读过你的问题的答案? jQuery提供了一个跨浏览器的方式。 jQuerys如何使用不支持的本地方法发生故障? – Andrew

+1

我不明白你为什么认为选择器在IE中不起作用。 jQuery选择器引擎**在浏览器中非常一致,包括IE6。 – Pointy

+0

jquery是跨浏览器的。这不是javascript。 indexOf(对于数组)是一个javascript函数,jquery与它无关,并且作为一个数组函数,直到ie9左右才实现。 – Rodolfo

回答

3

作为Linux用户并不意味着您无法使用Internet Explorer。创建并启动虚拟机,如VirtualBox,并模拟Windows + Internet Explorer。

+0

你不能“模拟Windows”(好吧,除非你使用WINE,否则没有给出理想的结果)。您可以在虚拟机中运行Windows(尽管您仍然需要购买许可证)。 – Quentin

+0

他没有提到Windows许可证花钱也可能是一个决定性因素的事实。 – dstarh

+0

在互联网上免费提供Windows映像。使用常识,获得真实,安全的Windows映像并不困难。 –

1

indexOf函数与jQuery无关。这是一个数组函数。选择器工作得很好,它只是用于处理结果的代码不是跨浏览器兼容的。

+0

是的,我知道这一点。 –

+1

那么,你为什么指责jQuery? –

+0

我不是指责jQuery,我的脚本失败主要是因为选择器没有抓取任何东西,尽管它在Chrome/Chromium中抓取了东西。 indexOf函数是一个单独的问题。 –

0

您可以使用browsershots在很多浏览器中获得屏幕截图。

有时你需要等很长时间才能得到屏幕截图,并且代码必须可以被任何计算机访问。但这不像你把它发布给每个人。

我知道有时候,屏幕截图不会将其剪下。但它总比没有好。

1

是的,跨浏览器测试只是一个PITA。没有真正的好方法。如前所述,使用各种操作系统配置设置virtual machines是一种好方法。但是,在线有几种“云”服务,可让您“租用”TS可以加入和调试的盒子。我通过Google的快速搜索发现了一个这样的例子:http://www.cloudtesting.com/

尽管jQuery是一个跨平台的库,但并不意味着某些浏览器或某些版本的不同浏览器上不存在缺陷。 jQuery是一个开源项目,如果你在他们的平台上发现错误,欢迎你修复它们或至少report them,以便它们可以被解决。

对于特定的IE错误,通常会有一些解决方法。例如,如果Array不支持indexOf,则可以始终通过修改Array.prototype

自己实现它祝你好运!

相关问题