IE7中未定义未定义

时间:2011-12-05 20:23:34

标签: javascript dom internet-explorer-7 undefined history.js

我正在使用JavaScript库(History.js),其中代码包含此匿名函数:

 (function(window,undefined){
     //...
 })(window);

在我切换到IE7兼容模式之前,它适用于所有浏览器。我深入研究了这个“未定义”变量,导致脚本无法正常运行。换句话说,IE7似乎在看到这个未定义的关键字时停止了脚本。

据我所知,这个变量用于创建一个未定义的对象,但由于它实际上没有在任何地方定义,IE7以及之前可能不起作用。

解决方法是什么?有没有人遇到同样的问题?

2 个答案:

答案 0 :(得分:0)

上面的代码段实际上并没有执行该功能。这是复制/粘贴错误吗?或者这是您的确切代码?如果是这样,试试这个:

(function(window, undefined) {
    //...
})(this);

注意最后的括号和传递的this对象(映射回函数内的局部变量window

希望有所帮助!欢呼声。

答案 1 :(得分:0)

对此的解释和解决方法如下:

https://github.com/browserstate/history.js/issues/157

您只需要在代码(https://github.com/douglascrockford/JSON-js

之前加入json2.js