Jquery抛出IE特定错误

时间:2011-02-16 23:59:30

标签: jquery internet-explorer-8

见小提琴:

http://jsfiddle.net/JWSaZ/

这在Chrome / FF中运行良好,但在Internet Explorer中,它在Jquery文件中出错:

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; Media Center PC 6.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729)
Timestamp: Wed, 16 Feb 2011 23:59:13 UTC


Message: Unexpected call to method or property access.
Line: 16
Char: 55207
Code: 0
URI: https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js

2 个答案:

答案 0 :(得分:7)

您得到的错误是由于jQuery需要调用包含resolveWith而没有try - finally块的函数catch。在IE9之前,IE不支持这种情况并导致错误:

  

对方法或属性的意外调用   访问。

基本上,它发生在IE javascript引擎尝试进入finally块时。一个简单的解决方案是链接到您自己的jQuery源副本,并为此函数添加一个空的catch块。

或者,如果您不必使用HTML5标记,请使用<construct>更改<p>标记或使用id更改div并更改您的jQuery选择器,因为此jQuery函数可以解决您的问题似乎没有被调用。请在此处查看IE8中示例的工作更新:http://jsfiddle.net/JWSaZ/21/

答案 1 :(得分:1)

您的错误是在设置jC2_events变量时。在Firefox中,你会得到这样的东西:

系统:每个刻度:将宽度设置为Y-100:#A注释:设置角度为Atan(Self.X-Mouse.X):完成它#This是注释Sprite:On事件:执行此操作:执行此操作:做其他事情时钟:蜱虫和钟声:做点什么:再做一次!:添加一个

但是在IE 8中你得到一个空字符串。所以在ff你的for循环循环6次但它只在IE中循环一次并在if语句上失败。希望这可以帮助。