2013-05-24 4 views
0

Я загрузки HTML-страницы с помощью метода .load JQuery в:JQuery ".load" и jGrowl

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

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

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

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

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> 

Любые предложения были бы весьма полезными.

ответ

0

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

Заметим, что очень важно, когда вы используете $ .load(), что вы обращаетесь файл по HTTP (S) и not file: // При выполнении последнего вы столкнетесь с проблемами «Origin null», см. Origin null is not allowed by Access-Control-Allow-Origin для получения дополнительной информации об этом фронте.