2013-06-05 4 views
6

Хотя кажется, что, кажется, много людей, чтобы ВГА возникли проблемы с этим на переполнение стека, я еще увидеть описание того, почему это происходит не так (1, 2, 3)JQuery getScript вопрос

Мои код (для целей тестирования):

jQuery.getScript("res/fader.js", function() { alert("loaded"); }); 

работает безупречно в Chrome (16). В Firefox (11) консоль firebug показывает запрашиваемый скрипт и ожидаемый ответ (включая тип mimetype приложения/javascript). Но никаких предупреждений. Нет ошибки. Ничего.

Если впоследствии попытаться ссылаться на что-то в скрипте, который должен был быть загружен, он по-прежнему не определен (это через несколько секунд после события onload и после того, как консоль показывает, что сценарий был извлечен).

обновление

Я использую JQuery 1.9.1

+0

вам нужно ссылаться на '.find ('loaded_dom')' – karthikr

+0

любая ошибка в консоли браузера –

+1

Какую версию jQuery вы используете? Firefox 11 теперь 10 версий устарели, а Chrome 16 - 11 версий. Не уверен, что это будет причиной, если проблема, но если вы используете jQuery 2.x, возможно, стоит сделать 1.x выстрел на всякий случай. –

ответ

1

Престижность и благодаря несобранные (добавить ответ & я пометить его как принято) добавляющие правша исключение, я нашел проблему ...

Исключение произошло, которое обрабатывалось jQuery молча. Добавление обработчика через getScript() показало, что проблема была «недопустимым назначением левой стороны». К сожалению, это исключение не указывает, где произошла ошибка. Затем я попробовал другой способ загрузки сценария (создания элемента сценария и добавления его в тело), ​​что означало, что был запущен обработчик по умолчанию в браузере, который дал мне номер строки и бит кода нарушения:

this=null; 

Это предназначено для очистки экземпляра объекта, чтобы избежать утечки памяти и работает в Chrome, но не в Firefox.

Смежные вопросы