我实际上在使用jQuery包含JS文件时遇到了问题。我找到了很多来源,但没有人和我合作。我很确定js文件的路径是正确的。这是我的两次尝试:
第一个(我更喜欢)正在使用<link>
(包含CSS文件)但它不能使用<script>
标记。
$('head').append('<script type="text/javascript" src="'+addon+'"></script>');
第二个是使用get HTTP请求。这是我的尝试:
$.getScript(addon, function(){});
所以,问题是:第一个代码出了什么问题?因为我之前尝试使用<link>
标签并且它的工作非常好。
答案 0 :(得分:10)
您是否考虑过:
$('<script />', { type : 'text/javascript', src : addon}).appendTo('head');
这可以避免手动转义</script>
结束标记。
答案 1 :(得分:4)
你必须转义结束标记<\/script>
否则你过早地关闭脚本
答案 2 :(得分:1)
尝试$.holdReady(true);
$.getScript("sample.js", function() {
$.holdReady(false);
});
这可以确保在触发onready对象之前完全加载js,从而可以确保动态包含的js的任何对象/函数都可用。
答案 3 :(得分:1)
尝试
$.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
});