Internet explorer IE 6/8上的ExtJs奇怪行为:';锁定';是空的
我用ExtJS开发了一个页面。它适用于FF、Chrome和Opera,但不适用于IE 在IE中,我有以下信息: 网页错误详细信息 用户代理:Mozilla/4.0(兼容; MSIE 7.0;Windows NT 5.1;Trident/4.0) 时间戳:2011年6月20日星期一15:51:23 UTC 消息:“锁定”为空或不是 对象行:14364字符:13代码:0 URI: 消息:抛出异常,但未返回 捕获行:25281字符:9代码:0 URI: 我不知道为什么它指的是“锁定”。我的页面中没有锁定的变量或其他变量Internet explorer IE 6/8上的ExtJs奇怪行为:';锁定';是空的,internet-explorer,extjs,Internet Explorer,Extjs,我用ExtJS开发了一个页面。它适用于FF、Chrome和Opera,但不适用于IE 在IE中,我有以下信息: 网页错误详细信息 用户代理:Mozilla/4.0(兼容; MSIE 7.0;Windows NT 5.1;Trident/4.0) 时间戳:2011年6月20日星期一15:51:23 UTC 消息:“锁定”为空或不是 对象行:14364字符:13代码:0 URI: 消息:抛出异常,但未返回 捕获行:25281字符:9代码:0 URI: 我不知道为什么它指的是“锁定”。我的页面中没
如果你有一些想法或答案,谢谢你。你的一些源代码对于它失败的地方会很有帮助 但我要做的是弄清楚到底发生了什么。使用firebug的堆栈跟踪来跟踪代码中失败的组件。您将需要密切关注DOM ID 你也可以从评论可疑的小组开始。一旦确定面板存在问题,就可以将问题缩小到故障的确切组件
至于您关于什么是“锁定”的问题,您可以参考API来查看哪些类具有某种锁定。在我的脑海中,我可以想到一些诸如CabrBox选择模型。< P>在伊江中使用ExtJS时,你需要考虑IE的JSON解析器比Chrome或FF更严格。考虑这个JSON,例如:
var Model = {
property1: '1',
property2: '2',
property3: '3',
property4: '4',
property5: '5',
}
它对所有mayor浏览器都完全有效,因此在使用它时不会出现任何错误,但是请注意最后一个元素上的最后一个昏迷,IE的问题就从这里开始。如果你在Chrome/FF上得到这样的对象的长度,那么这个值将是5,而在IE中它将是6。这意味着IE中的解析器考虑最后一个coma之后的第六个空元素。这就是破坏ExtJs的原因
清理代码以避免多余逗号的一个好方法是使用验证您的代码。您可以发布一个工作示例吗?已解决的问题:IE不喜欢批次中的逗号!是 啊与其他浏览器相比,它的解析是相当令人难以容忍的,完全荒谬。。为什么M$不能伸出手指写一个调试器。。。是一个多余的逗号-(IE7+中的调试工具有一半不错。但是,与Chrome的内置工具或Firebug相比,它还有很长的路要走。)