IE9 javascript未定义错误
问题描述:
我试着修复我的应用程序以使用IE9浏览器(使用IE9标准模式)。IE9 javascript未定义错误
但是我得到一些不确定的JavaScript错误..
我有一个js文件下面的一段代码。
1.
if(escape(String.fromCharCode(111)).toLowerCase() != "abc")
{
//code
}
我得到错误 '逃离' 是不确定的。
2. 在一些js文件,我得到的错误“数组未定义”对于这样一段代码
//1
function abc(){
this.abc = new Array();
}
//2
var cde = new Array
(
"aaa","bb","cc",
"dd","eee","ff",
);
然而,这些错误不会对IE8标准模式等多种模式发生。
请让我知道为什么这些错误即将到来以及如何解决此类错误。
答
除了使用新的Array(...)的,你能简单地说...
this.abc = [];
和...
变种CDE = [ 'AAA', 'BB', '抄送', 'DD', 'EEE', 'FF'];
...?
答
虽然瑞恩的答案解决了这个问题,但问题在于尾随的逗号;
“DD”, “EEE”, “FF”,
答
你的ABC功能会将自身到一个数组对象; this
是window
。也许this
的上下文已经改变或在某处被误解,并且该代码无意中重新定义window
或其属性。这可以解释为什么像Array
和escape
这样的全局变量是未定义的。 (不知道为什么它只会影响IE9标准模式,尽管如此。)
Ryan感谢您的回复。 – Girish 2011-04-24 09:04:33
可以在cde中的许多条目(约240)。什么是IE9期待?如何处理未定义的转义 – Girish 2011-04-24 09:06:27
关于escape()问题,我没有遇到任何未定义的错误,试图做你所说明的。也许如果你显示整个代码片段,事情会变得更清晰。 – Ryan 2011-04-24 19:35:03