jQuery ".load" и jGrowl

Я загружаю HTML-страницу, используя метод.load в jQuery:

$(document).ready(function() {
    $('#body_dynamic_css').load('/url/to/page');
});

Я недавно обновил версию jQuery до 1.7.2 с 1.4.2. Раньше я мог использовать jGrowl после загрузки дополнительной страницы, но сейчас не могу. Если я смотрю на консоль загруженной страницы, у меня есть jGrowl, и если я удаляю оператор load с исходной страницы, у меня есть jGrowl, но как только вызывается load, у меня больше не остается jGrowl. Даже выполняю следующие работы.

$(document).ready(function() {
    $('#body_dynamic_css').load('/url/to/page', function() {
        $.jGrowl('Hello Stackru');
    });
});

Точное сообщение об ошибке, которое я получаю:

Uncaught TypeError: Object function (a,b){return new e.fn.init(a,b,h)} has no method 'jGrowl' 

Это происходит, когда исходная страница вызывает

$(document).ready(function() {
    // Do stuff here
    $.jGrowl('message');
    // Do stuff here
});

Из внешне загруженного файла JavaScript.

<script src="/assets/app.js" type="text/javascript" charset="utf-8"></script>

Любые предложения будут ценны.

1 ответ

Вы можете сделать это, посмотрите здесь рабочий пример: https://gist.github.com/stanlemon/5649378

Обратите внимание, что при использовании $.load() очень важно, чтобы вы обращались к своему файлу через http(s), а не через file: // При выполнении последнего вы столкнетесь с проблемами "Origin null", см. " Origin null is not is". разрешено Access-Control-Allow-Origin для получения дополнительной информации по этому вопросу.

Другие вопросы по тегам