外部JS加载多次

时间:2013-08-05 20:23:21

标签: javascript cdn

当我的页面上的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资源标签中请求的屏幕截图:

Chrome Resources

如您所见,bootstrap.min.js(外部)多次加载 - 但bootstrap-notify.min.js(本地)加载一次。

任何外部来源都会发生这种情况,而不仅仅是cdnjs.cloudflare.com

编辑: 固定它。这是我的JavaScript中与AJAX请求相关的问题。

1 个答案:

答案 0 :(得分:1)

$.fn.getPage是你的问题。您将整个 HTML文档插入当前文档,该文档还将插入<script>标记。

只更换身体:

$(data).find('body').children().appendTo(self.find('body').empty());