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