当我的页面上的JavaScript从CDN(或任何外部源)加载时,它会加载多次(5+)次。本地的JS文件只加载一次。
以下是相关的HTML:
<html>
[...]
<body>
[...]
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-migrate/1.2.1/jquery-migrate.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.3.1/jquery.cookie.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
<script src="js/index.min.js"></script>
<script src="js/bootstrap-notify.min.js"></script>
</body>
</html>
以下是Chrome资源标签中请求的屏幕截图:
如您所见,bootstrap.min.js
(外部)多次加载 - 但bootstrap-notify.min.js
(本地)加载一次。
任何外部来源都会发生这种情况,而不仅仅是cdnjs.cloudflare.com
。
编辑: 固定它。这是我的JavaScript中与AJAX请求相关的问题。
答案 0 :(得分:1)
$.fn.getPage
是你的问题。您将整个 HTML文档插入当前文档,该文档还将插入<script>
标记。
只更换身体:
$(data).find('body').children().appendTo(self.find('body').empty());