引用相同的js文件两次会有什么不良影响吗?

时间:2013-01-03 16:23:14

标签: javascript jquery

我已经读过为什么有人(比如谷歌)主持jQuery和其他js文件是一件好事。但是,我有一个客户端,其中包含googlecode.com和googleapis.com等域名(政府机构)。

我想保留Google托管的js文件,但我的服务器上也有一个本地副本用于上述客户端(这只是我的客户端的一小部分,但是很重要)。

在同一页面中引用相同的js文件会导致任何问题吗?

这基本上就是它在我的源代码中的外观,1代表另一个:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="/js/local/jquery.min.js"></script>

2 个答案:

答案 0 :(得分:4)

如果您使用<script>元素在页面中添加脚本,则不会“引用”它:执行

所以它完全取决于剧本。

例如,jQuery不会破坏太多,第二次执行只会替换window.jquerywindow.$的第一个值,这只需要一些(次要的)额外时间。

其他脚本可能无法重复执行。

一般来说,我会说你应该努力避免这种重复。这不干净,它会减慢页面速度。如果您不能简单地使用自己的jQuery副本,我建议您部署两个版本的应用程序。

答案 1 :(得分:2)

使用HTML5 Boilerplate推广的模式是最有效的方法。只有在无法访问Google文件时,它才会加载您的本地文件。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.8.3.min.js"><\/script>')</script>