0

我已经阅读了为什么让某人(比如 Google)托管 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>
4

2 回答 2

4

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

所以它完全取决于脚本。

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

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

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

于 2013-01-03T16:25:19.077 回答
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>
于 2013-01-03T16:26:45.570 回答