jquery – Style Bundle的MVC CDN后备

前端之家收集整理的这篇文章主要介绍了jquery – Style Bundle的MVC CDN后备前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
MVC是否有内置的方式来为样式表指定CDN后备?我正在尝试为jQuery Mobile Structure样式表设置一个后备.
这是我在RegisterBundles方法中的代码
var JQMstyleSheet = new StyleBundle("~/JQMstyle","http://code.jquery.com/mobile/1.3.1/jquery.mobile.structure-1.3.1.min.css").Include("~/theme/jquery.mobile.structure-1.3.1.css");
JQMstyleSheet.CdnFallbackExpression = "window.jQuery.mobile";
bundles.Add(JQMstyleSheet);

页面呈现时,它将此输出到html:@H_502_6@

<script>
(window.jQuery.mobile)||document.write('<script src="/JQMstyle"><\/script>');
</script>

当CDN失败时,它不会像我的javascript文件一样动态添加样式表.
我认为问题是它正在尝试渲染一个脚本,它应该是一个样式.除了CdnFallbackExpression之外还有不同的回退属性吗?@H_502_6@

UPDATE@H_502_6@

System.Web.Optimization.StyleBundle的Microsoft文档将CdnFallbackExpression显示为可用属性,但在描述中它显示获取由Scripts帮助程序类呈现的脚本扩展…”
http://msdn.microsoft.com/en-us/library/system.web.optimization.stylebundle(v=vs.110).aspx
这是System.Web.Optimization.StyleBundle中的错误吗?不应该通过引用Styles助手类来获取属性吗?@H_502_6@

解决方法

TLDR;

查看我的解决方案,它提供了一个StyleBundle扩展方法解决问题.@H_502_6@

Style Bundle Fallback@H_502_6@

也@H_502_6@

是的,Microsoft ASP.NET优化框架中存在一个错误,记录于here.@H_502_6@

解决方案是将CdnFallbackExpression修改为javascript函数,它既检查样式表又加载回退,从而忽略优化框架中的错误脚本.@H_502_6@

有一些棘手的部分,特别是检查来自另一个域时加载的样式表,如大多数CDN源.@H_502_6@

我在GitHub上有一个解决方案,你可以使用它直到问题在框架中修复;但是,我仍然需要注意确定何时实际加载样式表的棘手部分.@H_502_6@

原文链接:https://www.f2er.com/jquery/177497.html

猜你在找的jQuery相关文章