什么是更快?
<script src="../js/SOME.js" type="text/javascript"></script>
或者
$.getScript('../js/SOME.js', function (){ ...
// with $.ajaxSetup({ cache: true });
他们是一样的。但这是您应该考虑的事实:
要使用 getScript,您需要先加载 jQuery,然后添加该时间(我猜这就是您正在使用的,因为$
.
jQuery 会异步加载它,这意味着浏览器不会停止其他所有内容来加载 SOME.js。
我猜这<script src="../js/SOME.js" type="text/javascript"></script>
会更快,因为浏览器本身就是这样做的,而第二种选择首先强制浏览器加载页面,然后使用 JavaScript 加载脚本。
浏览器可能会自己处理缓存,但我不太确定。
前者,因为 $.getScript 依赖于 jquery 来初始化。
它们都将花费大约相同的时间来下载。不同之处在于内联脚本与页面上的所有其余元素一起加载,因此必须竞争带宽。
注入脚本将在页面加载后和 jQuery 加载后进行。由于此时可能会下载其余页面元素,因此它看起来“更快”,但可以“稍后”使用。
最快的方法是使用如下脚本同步加载脚本:
<script id="your-script-id" type="text/javascript">
(function() {
var your-script-id = document.createElement('script');
your-script-id.type = 'text/javascript';
your-script-id.src = ('http://your-script-location.js');
var s = document.getElementById('your-script-id');
s.parentNode.insertBefore(your-script-id, s);
})();
</script>