小编典典

jQuery动态加载Javascript文件

javascript

我有一个非常大的javascript文件,仅当用户单击某个按钮时才想加载。我正在使用jQuery作为框架。有内置的方法或插件可以帮助我做到这一点吗?

更多详细信息:我有一个“添加注释”按钮,该按钮应该加载TinyMCE
javascript文件(我已经将所有TinyMCE东西都煮成了一个JS文件),然后调用tinyMCE.init(…)。

我不想在初始页面加载时加载它,因为不是每个人都单击“添加评论”。

我了解自己可以做到:

$("#addComment").click(function(e) { document.write("<script...") });

但是有更好的/封装的方法吗?


阅读 525

收藏
2020-05-01

共1个答案

小编典典

是的,使用getScript而不是document.write-
文件加载后,它甚至可以允许回调。

不过,您可能想要在包含TinyMCE之前检查是否已定义TinyMCE(以用于随后的对“ Add Comment”的调用),因此代码可能如下所示:

$('#add_comment').click(function() {
    if(typeof TinyMCE == "undefined") {
        $.getScript('tinymce.js', function() {
            TinyMCE.init();
        });
    }
});

假设您只需要调用init一次即可。如果没有,您可以从这里解决:)

2020-05-01