3

$.getScript();在 jQuery 中使用来执行以下操作是否有意义:

$("#action-one").click(function() {     
    $.getScript('scripts/action-one.js');
});

$("#action-two").click(function() {     
    $.getScript('scripts/action-two.js');
});

会减小 main.js 文件的大小,从而加快加载速度吗?也意味着只有在使用代码时才会加载代码,如果一遍又一遍地加载相同的代码,可能会出现问题..

(我目前没有这样做,但如果你有非常大的 js 文件,我就会想到它)

4

1 回答 1

4

如果不立即需要代码,则在页面加载时异步加载这些脚本是有意义的。这样它们就不会以任何方式减慢页面加载速度,但是它们将在以后/如果需要时立即可用。

但是,仅在需要时加载它们通常会干扰用户体验 - 使查看者等待脚本加载,然后才能继续操作,因此大多数网站认为仅在需要时加载它们不是最佳用户体验。

当然,也有例外。如果脚本很大并且很少需要,那么按需加载可能是有意义的。但通常它们并不大,因此在页面加载后异步加载它们是一个更好的主意。

另外,请记住,一旦脚本被加载一次,它们通常会从浏览器缓存中快速加载。

于 2012-04-26T17:20:45.697 回答