是否可以在点击时包含特定的javascript文件?

时间:2014-11-07 22:14:43

标签: javascript jquery

我目前正在开发一个包含几个非常大的Javascript文件的网站。这些文件导致页面的加载时间变得非常慢。

javascript文件的输出最初隐藏在几个jquery选项卡后面的用户。我想知道是否只有当用户点击这些特定标签时才能加载文件,这样网站的初始加载时间就不会很慢?

2 个答案:

答案 0 :(得分:3)

可以根据需要动态加载Javascript文件。

这将是一个异步操作,因此您将开始加载过程,然后一段时间后,脚本将被加载并可供您使用。

在jQuery中,您可以使用$.getScript()

示例:

$.getScript("test.js", function() {
    // script is loaded now
    // code that uses this script can go here
});

仅供参考,还有其他一些技术可以改善您网站的加载时间。例如,您可以将所有非必要脚本(那些不涉及页面初始显示的脚本)放在<body>的最后,就在</body>标记之前。这将允许您的页面显示而不等待加载这些脚本。

脚本也可以标记为asyncdefer,以便页面加载的其他方面不会等待它们加载。

关于这个主题的其他有用的参考资料:

Script Tag - async & defer

Deferred scripts and DOM

load and execute order of scripts

improving website performance by dynamically loading javascript?

答案 1 :(得分:0)

是的,你可以这样做。看到 http://community.sitepoint.com/t/dynamically-loading-js-script/40207/15

在写出src属性时,您可能必须在文件名中进行一些字符串连接,以便加载您需要的不同文件