首先从Googles CDN加载jQuery,然后在本地服务器加载第二个

时间:2012-04-26 14:05:19

标签: javascript jquery jquery-ui coldfusion

情景:

我想从Google的CDN加载jQuery和jQuery UI lib,但如果加载时间太长,则从本地Web服务器检索它。

我正在使用Coldfusion,但我不认为这就是答案。我想我需要用JavaScript做点什么。

我用cftry包装了我的脚本src标签但是没有用。

<cftry>
    <!-- Load Jquery from Google -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>
    <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/<cfoutput>#css_style#</cfoutput>/jquery-ui.css" type="text/css" media="all" />
    <cfcatch type="any">
        <!-- load from local server -->
        <script src="assets/jQuery/jquery-1.7.2.min.js"></script>
        <script src="assets/jQueryUI/js/jquery-ui-1.8.7.custom.min.js"></script>
        <link rel="stylesheet" href="assets/jQueryUI/css/<cfoutput>#css_style#</cfoutput>/jquery-ui-1.8.7.custom.css" type="text/css" media="all" />
        </cfcatch>
</cftry>

2 个答案:

答案 0 :(得分:6)

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.js"></script>
<script type="text/javascript">window.jQuery || document.write("<script type='text/javascript' src='js/jquery-1.8.3.min.js'>\x3C/script>")</script>

- 在声明中更正了混合引号。 Dreamweaver在更正之前报告了语法错误 -

答案 1 :(得分:0)

<script>
setTimeout(function() {
  if(window.jQuery) return;
  var n = document.getElementsByTagName("script")[0];
  n.parentNode.insertBefore(document.createElement("script"), n).src = "assets/jQuery/jquery-1.7.2.min.js";
}, 5000);
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>