Javascript 使用jQuery包含一个JS文件
实际上,我在使用jQuery包含JS文件时遇到了一个问题。我找到了很多资料来源,但没有人与我合作。我非常确定js文件的路径是正确的。以下是我的两次尝试: 第一个(我更喜欢)是使用Javascript 使用jQuery包含一个JS文件,javascript,jquery,include,Javascript,Jquery,Include,实际上,我在使用jQuery包含JS文件时遇到了一个问题。我找到了很多资料来源,但没有人与我合作。我非常确定js文件的路径是正确的。以下是我的两次尝试: 第一个(我更喜欢)是使用(包括CSS文件),但它不使用标记 $('head')。追加(''); 第二种是使用get HTTP请求。以下是我的尝试: $.getScript(加载项,函数(){}); 所以,问题是:第一个代码有什么问题?因为我以前用标记尝试过它,而且它工作得很好。您必须退出结束标记,否则您会过早地关闭脚本。您是否考虑过:
(包括CSS文件),但它不使用
标记
$('head')。追加('');
第二种是使用get HTTP请求。以下是我的尝试:
$.getScript(加载项,函数(){});
所以,问题是:第一个代码有什么问题?因为我以前用
标记尝试过它,而且它工作得很好。您必须退出结束标记
,否则您会过早地关闭脚本。您是否考虑过:
$('<script />', { type : 'text/javascript', src : addon}).appendTo('head');
$('',{type:'text/javascript',src:addon}).appendTo('head');
这避免了手动转义关闭标记。尝试$。holdReady(true);
$.getScript(“sample.js”,function()){
$.holdReady(假);
});代码>
这可以确保在启动onready对象之前,js已完全加载,因此您可以确保动态包含的js的任何对象/函数都可用。try
$.when(
$.getScript( "sample.js" ),
$.getScript( "simple.js" ),
$.getScript( "jquery.js" ),
$.Deferred(function( deferred ){
$( deferred.resolve );
})
).done(function(){
//place your code here, the scripts are all loaded
});
您必须转义结束标记
是否意识到它们都是get请求?;)$('head')。附加('');在我们的头部分动态添加外部js是正确的方法吗。没想到that@mplungjan:谢谢!我喜欢简单(当我想清楚的时候,无论如何…=)这太棒了,伙计们,你们太棒了,两种解决方案都是对的:D太感谢了!当然,不客气;我很高兴能帮上忙,谢谢你的接受@DavidThomas:这是我见过的最漂亮的方法。请参考一个链接,我可以从中获得关于jQuery对象使用的更多详细信息。谢谢。