1

什么是更快?

<script src="../js/SOME.js" type="text/javascript"></script>

或者

   $.getScript('../js/SOME.js', function (){ ... 
   // with $.ajaxSetup({ cache: true }); 
4

5 回答 5

3

他们是一样的。但这是您应该考虑的事实:

  • 要使用 getScript,您需要先加载 jQuery,然后添加该时间(我猜这就是您正在使用的,因为$.

  • jQuery 会异步加载它,这意味着浏览器不会停止其他所有内容来加载 SOME.js。

于 2011-03-10T16:44:37.103 回答
3

我猜这<script src="../js/SOME.js" type="text/javascript"></script>会更快,因为浏览器本身就是这样做的,而第二种选择首先强制浏览器加载页面,然后使用 JavaScript 加载脚本。

浏览器可能会自己处理缓存,但我不太确定。

于 2011-03-10T16:44:56.283 回答
1

前者,因为 $.getScript 依赖于 jquery 来初始化。

于 2011-03-10T16:44:08.593 回答
1

它们都将花费大约相同的时间来下载。不同之处在于内联脚本与页面上的所有其余元素一起加载,因此必须竞争带宽。

注入脚本将在页面加载后和 jQuery 加载后进行。由于此时可能会下载其余页面元素,因此它看起来“更快”,但可以“稍后”使用。

于 2011-03-10T16:46:21.000 回答
0

最快的方法是使用如下脚本同步加载脚本:

<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>
于 2011-03-10T16:47:21.543 回答