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 для получения дополнительной информации по этому вопросу.