两次引用同一个js文件是否有任何不良影响?

Is there any ill effects of referencing the same js file twice?

本文关键字:是否 任何 不良 影响 文件 js 两次 同一个 引用      更新时间:2023-09-26

我读过为什么有人(比如Google)做jQuery和其他js文件的托管是一件好事的原因。但是,我有一个客户端有像googlecode.com和googleapis.com这样的域名被封锁(一个政府机构)。

我想保留谷歌托管的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>

当您使用<script>元素在页面中包含脚本时,您不会"引用"它:您执行它。

所以这完全取决于脚本。

例如,jQuery不会中断太多,第二次执行将简单地替换window.jquerywindow.$的第一个值,这只会花费一些(少量)额外的时间。

其他脚本可能没有准备好重复执行。

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

使用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>