Не определено не определено в IE7 - PullRequest
2 голосов
/ 06 декабря 2011

Я использую библиотеку JavaScript (History.js), где код обернут вокруг этой анонимной функции:

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

Хорошо работает во всех браузерах, пока я не переключусь в режим совместимости с IE7. Я углубился в эту «неопределенную» переменную, из-за которой скрипт не работает. Другими словами, IE7, кажется, останавливает скрипт, когда видит это неопределенное ключевое слово.

Я понимаю, что эта переменная используется для создания неопределенного объекта, но, поскольку она на самом деле нигде не определена, IE7 и, возможно, ранее не работают.

Какой обходной путь? кто-нибудь сталкивался с такой же проблемой?

Ответы [ 2 ]

0 голосов
/ 04 апреля 2012

Объяснение и исправление для этого здесь:

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

Вам просто нужно включить json2.js перед вашим кодом (https://github.com/douglascrockford/JSON-js)

0 голосов
/ 06 декабря 2011

фрагмент выше фактически не выполняет функцию.это ошибка копирования / вставки?или это ваш точный код?если это так, попробуйте следующее:

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

обратите внимание на последние скобки и передаваемый объект this (который отображается обратно в локальную переменную window внутри функции.

надеюсь, чтопомогает! ура.

...