【发布时间】:2015-06-21 20:42:28
【问题描述】:
我想在页面加载后加载我的 javascript 文件并确保它们被缓存。
这个问题已经被问了很多,但他们都建议用 jQuery ($.getScript) 加载它,而我要加载的文件之一是 jQuery 本身,我不能使用 jQuery。有一些选项,例如:
(function(){
var newscript = document.createElement('script');
newscript.type = 'text/javascript';
newscript.async = false; //as I'm going to execute some functions
//after this I want to make sure that the
//script is fully loaded
newscript.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js';
(document.getElementsByTagName('head')[0]||document.getElementsByTagName('body')[0]).appendChild(newscript);
})();
但我不确定它们是否被缓存。 并且有没有办法在动态加载脚本完成时触发事件?
【问题讨论】:
-
你为什么要这么做?
-
我只有一个 javascript 文件,因为我正在使用捆绑和缩小。但由于 javascript 的大小很大,我不希望它的加载时间添加到页面加载时间
-
那么相反,您要……仍然通过立即同步加载将其加载时间添加到页面的加载时间? (我什至不知道设置
async = false是否可以使其同步,但如果是这样,那似乎就失去了意义。) -
不,我想等待页面完全加载,并在页面完全加载后加载脚本,因为在此之前不需要这些脚本:我的捆绑脚本、google 加上一个脚本和广告脚本。
-
所以在
</body>之前放一个<script src="…"></script>?
标签: javascript