Javascript 未定义在IE7中没有定义

Javascript 未定义在IE7中没有定义,javascript,dom,internet-explorer-7,undefined,history.js,Javascript,Dom,Internet Explorer 7,Undefined,History.js,我正在使用一个JavaScript库(History.js),其中的代码围绕着这个匿名函数: (function(window,undefined){ //... })(window); 在我切换到IE7兼容模式之前,它在所有浏览器中都能正常工作。我深入研究了这个“未定义”变量,它导致脚本无法正常工作。换句话说,当IE7看到这个未定义的关键字时,它似乎会停止脚本 我知道这个变量是用来创建一个未定义的对象的,但是由于它实际上没有在任何地方定义,IE7和早期版本都不起作用 解决办法是

我正在使用一个JavaScript库(History.js),其中的代码围绕着这个匿名函数:

 (function(window,undefined){
     //...
 })(window);
在我切换到IE7兼容模式之前,它在所有浏览器中都能正常工作。我深入研究了这个“未定义”变量,它导致脚本无法正常工作。换句话说,当IE7看到这个未定义的关键字时,它似乎会停止脚本

我知道这个变量是用来创建一个未定义的对象的,但是由于它实际上没有在任何地方定义,IE7和早期版本都不起作用


解决办法是什么?有人遇到过同样的问题吗?

上面的代码片段实际上并没有执行该函数。这是复制/粘贴错误吗?或者这就是你的密码?如果是,请尝试以下方法:

(function(window, undefined) {
    //...
})(this);
注意最后的括号和传递的
this
对象(映射回函数内部的本地var
窗口)


希望有帮助!干杯。

上面的代码片段实际上没有执行该函数。这是复制/粘贴错误吗?或者这是您的确切代码吗?如果是,请尝试以下操作:

(function(window, undefined) {
    //...
})(this);
注意最后的括号和传递的
this
对象(映射回函数内部的本地var
窗口)


希望这能有所帮助!干杯。

下面是对此的解释和解决方法:


您只需在代码()之前包含json2.js即可。

下面是对此的解释和修复:


您只需在代码()之前包含json2.js即可。

anon函数不会被调用。您确定复制/设置正确吗?您能给我们一个最低限度的复制吗?我刚刚尝试了“javascript:1+未定义”和“javascript:alert(未定义)”两种方法在我的IE 7安装中,这两个都按预期运行。对不起,我刚刚更新了代码。我键入了错误。没有调用anon函数。你确定你复制了它吗?你能给我们一个最小的修改吗?我刚刚尝试了“javascript:1+未定义”和“javascript:alert(未定义)”在我的IE 7安装中,两个都按预期运行。抱歉-我刚刚更新了代码。我输入了错误的代码。谢谢。我的问题实际上可能与history.js如何使用此未定义的代码有关。仍在研究它。我的问题实际上可能与history.js如何使用此未定义的代码有关。仍在研究它