从谷歌CDN回退jQuery UI

如果从谷歌CDN抓取它失败,Html5 Boilerplate使用以下技巧回退到本地存储的JQuery:

!window.jQuery && document.write(unescape('%3Cscript src="js/libs/jquery-1.4.2.js"%3E%3C/script%3E')) 

你会如何实现这个技巧来为jQuery UI执行相同的技巧?

  

在jQuery本身的后备之后执行此操作。

或者(如果你不喜欢!)

  

检测未定义的对象属性

我是这样做的:

     

使用ASP.NET Web Optimization Framework

当您使用捆绑包时,更容易实现。

从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); //... }