3

实际上,我在使用 jQuery 包含 JS 文件时遇到了问题。我找到了很多来源,但没有人与我合作。我很确定js文件的路径是正确的。这是我的两次尝试:

第一个(我更喜欢)正在使用<link>(包括 CSS 文件),但它不适用于<script>标签。

 $('head').append('<script type="text/javascript" src="'+addon+'"></script>');


第二个是使用 get HTTP 请求。这是我的尝试:

 $.getScript(addon, function(){});


所以,问题是:第一个代码有什么问题?因为我以前用<link>标签试过它,而且效果很好。

4

4 回答 4

12

你有没有考虑过:

$('<script />', { type : 'text/javascript', src : addon}).appendTo('head');

这避免了必须手动转义</script>结束标记。

于 2013-03-04T20:49:22.433 回答
4

您必须转义结束标记,<\/script>否则您会过早关闭脚本

于 2013-03-04T20:49:11.307 回答
1

尝试$.holdReady(true); $.getScript("sample.js", function() { $.holdReady(false); });

这可以确保在触发 onready 对象之前完全加载您的 js,因此您可以确保动态包含的 js 的任何对象/函数都可用。

于 2013-06-11T12:18:17.113 回答
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
});
于 2013-10-01T10:34:27.270 回答