0

我正在使用 jQuery 的 .load 方法加载 HTML 页面:

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

我最近将 jQuery 的版本从 1.4.2 更新到了 1.7.2。我以前可以在加载附加页面后使用 jGrowl,但现在不能。如果我查看加载页面的控制台,我有 jGrowl,如果我从原始页面中删除 load 语句,我有 jGrowl,但是一旦调用 load,我就不再有 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>

任何建议将不胜感激。

4

1 回答 1

0

你可以这样做,看看这里的一个工作示例: https ://gist.github.com/stanlemon/5649378

请注意,当您使用 $.load() 时,您通过 http(s) 而不是 file:// 访问文件非常重要。当执行后者时,您将遇到“Origin null”问题,请参阅Origin null is not Access-Control-Allow-Origin 允许获取有关这方面的更多信息。

于 2013-05-25T15:03:37.220 回答