Html5的樣板的jQuery UI使用備用下面的技巧,以本地存儲的JQuery的,如果從谷歌CDN抓住它失敗:後備從谷歌CDN
<script>!window.jQuery && document.write(unescape('%3Cscript src="js/libs/jquery-1.4.2.js"%3E%3C/script%3E'))</script>
你將如何實現這一招進行的jQuery同樣的伎倆UI?
Html5的樣板的jQuery UI使用備用下面的技巧,以本地存儲的JQuery的,如果從谷歌CDN抓住它失敗:後備從谷歌CDN
<script>!window.jQuery && document.write(unescape('%3Cscript src="js/libs/jquery-1.4.2.js"%3E%3C/script%3E'))</script>
你將如何實現這一招進行的jQuery同樣的伎倆UI?
<script type="text/javascript">!window.jQuery.ui && document.write(unescape('%3Cscript src="path to jquery UI lib'))</script>
在jQuery本身的回退後執行此操作。
或(!如果你不喜歡的)
<script type="text/javascript">(window.jQuery.ui === /* notice the === */ undefined) && document.write(/* ... */)</script>
我不喜歡這樣寫道:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="/static/js/jquery.min.js"><\/script>')</script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<script>window.jQuery.ui || document.write('<script src="/static/js/jquery-ui.min.js"><\/script>')</script>
使用ASP.NET Web優化框架
更簡單的方法來做到這一點,當你使用捆綁。
從NuGet獲取Microsoft.AspNet.Web.Optimization
包。 現在您的BundleConfig你可以設置你的捆綁不僅包括CdnPath,也CdnFallbackExpression:
public static void RegisterBundles(BundleCollection bundles)
{
bundles.UseCdn = true;
BundleTable.EnableOptimizations = true;
var jquery = new ScriptBundle("~/bundles/jquery", "//ajax.aspnetcdn.com/ajax/jquery/jquery-2.0.0.min.js").Include(
"~/Scripts/jquery-{version}.js");
jquery.CdnFallbackExpression = "window.jQuery";
bundles.Add(jquery);
//...
}
所以這應該適用於任何插件一樣。好東西! – 2011-02-16 11:13:51