我想使用jQuery异步加载外部JavaScript文件,并能够调用从外部JavaScript文件中加载的函数。我将我的JS文件包含在html底部,就在
我尝试了以下代码:
Chrome JavaScript控制台报告如下信息:
请问我做错了什么?
</html>
之前。jQuery代码就在我的代码之前。我尝试了以下代码:
(function(){
$(document).ready(function() {
obj.init();
});
var obj = {
init:function(){
$.ajax({
url: 'http://domain.com/script.js',
dataType: 'script',
success: function() {
obj.dostuff();
}
});
},
dostuff:function() {
// ...do stuff
}
}
window.obj = obj;
})();
Chrome JavaScript控制台报告如下信息:
'write' on 'Document'执行失败: 除非明确打开,否则无法从异步加载的外部脚本向文档中写入。
我试图将所有JS代码放在一个文件中,并使用对象(类和函数)的方式编写,然后从$(document).ready();
中调用每个类的init()
函数。请问我做错了什么?
$.getScript()
只是我的$.ajax()
调用的简写(因此用$.getScript()
替换$.ajax()
不会使我的代码示例工作),而且那个其他的堆栈问题与jQuery无关。我的问题涉及到异步JavaScript以我代码所示的方式。你知道如何让$.ajax()
使用jQuery DOM插入而不是document.write
吗?就像我说的,我想使用jQuery来包含外部异步JavaScript,以我代码所示的方式。 - Stephen Last