我正在使用jQuery的.load方法加载HTML页面:
$(document).ready(function() {
$('#body_dynamic_css').load('/url/to/page');
});
我最近从1.4.2将jQuery的版本更新为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>
任何建议都将不胜感激。
答案 0 :(得分:0)
你可以这样做,看看这里有一个工作的例子: https://gist.github.com/stanlemon/5649378
请注意,无论何时使用$ .load()通过http(而非文件)访问文件都非常重要://执行后者时,您将遇到“Origin null”问题,请参阅{ {3}}了解有关该方面的更多信息。