Является ли обратный вызов в getScript () jQuery ненадежным или я что-то делаю не так? - PullRequest
20 голосов
/ 15 июля 2009

Я использую следующий бит скрипта для загрузки другого:

$.getScript("CAGScript.js", function () {
    try {
        CAGinit();
    } catch(err) {
        console.log(err);
    }
});

Идея состоит в том, что $ .getScript загружает скрипт, а затем выполняет обратный вызов, когда это будет сделано. CAGInit() - это функция, которая живет в CAGScript.js.

Проблема в том, что примерно половину времени CAGInit() не срабатывает (в любом браузере). Вход в консоль Firebug сообщает, что он не определен. В остальное время работает отлично.

У кого-нибудь есть идеи, что я делаю не так?

Спасибо.

Ответы [ 11 ]

0 голосов
/ 15 июля 2009

Я думаю, вы можете начать с проверки testStatus функции обратного вызова, чтобы убедиться, что скрипт действительно загружен. Функция обратного вызова имеет два параметра, больше значений по умолчанию для тех, которые вы можете найти в jQuery Docs

$.getScript("CAGScript.js", function (data, textStatus) {
    if (textStatus === "success") {
        try {
            CAGinit();
        } catch(err) {
            console.log(err);
        }
    } else {
        console.log("script not loaded");
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...