我已经读过为什么有人(比如谷歌)主持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>
答案 0 :(得分:4)
如果您使用<script>
元素在页面中添加脚本,则不会“引用”它:执行。
所以它完全取决于剧本。
例如,jQuery不会破坏太多,第二次执行只会替换window.jquery
和window.$
的第一个值,这只需要一些(次要的)额外时间。
其他脚本可能无法重复执行。
一般来说,我会说你应该努力避免这种重复。这不干净,它会减慢页面速度。如果您不能简单地使用自己的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>