В IE 9 проблемы с передачей переменной между скриптами - PullRequest
1 голос
/ 26 августа 2011

Итак, я работаю над проектом, в котором у меня есть массивный массив, соответствующий цветам на картинке, на которые пользователь может щелкнуть, чтобы выбрать цвет. У меня есть массив в отдельном файле .js, и после загрузки этого файла у меня есть обработчик загрузки, запускающий остальную часть моего сценария. Он работает в Chrome / FF, но в IE он не работает, пока я не открою отладчик. Если я открываю отладчик, он перезагружает страницу, и массив работает нормально. У меня нет никаких идей. Вот ссылка на мою страницу, на которой находится проект, и это верхнее сообщение на странице: http://sauron.hostoi.com/log/

1 Ответ

4 голосов
/ 26 августа 2011

Это работает в Chrome / FF, но в IE это не работает, пока я не открою отладчик. Если я открываю отладчик, он перезагружает страницу и массив отлично работает.

Вы используете console.log().

При открытии Инструментов разработчика определяется объект console. Пока вы этого не сделаете, в Internet Explorer не будет объекта console: Поддерживает ли IE9 файл console.log и является ли он реальной функцией?

Чтобы решить эту проблему, вы можете удалить / закомментировать console.log() вызовы или добавить что-то вроде этого в начале вашего JavaScript:

// make it safe to use console.log always
(function(b){function c(){}for(var d="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(","),a;a=d.pop();)b[a]=b[a]||c})(window.console=window.console||{});

(фрагмент взят из http://html5boilerplate.com/)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...