在优化开启时从包中呈现样式时,您可以获得:
<link href="/Content/themes/base/css?v=UM624qf1uFt8dYtiIV9PCmYhsyeewBIwY4Ob0i8OdW81" rel="stylesheet" type="text/css" />
不幸的是,Android浏览器似乎没有load urls with query strings。您是否可以通过某种方式在System.Web.Optimization中自定义此字符串?
修改:
我的问题得到解答,我试图在用户代理字符串上检测android,并用一个querystring less链接到样式表。显然我遇到的问题不是因为查询字符串,而是webfont css的缩小版本导致它不能在Android股票浏览器中完全加载样式表。
Android股票浏览器fails to load css content string with escaped backslash,这是{minminifier} erronously minifies the same css content string的解决方法。我最终将图标字体css样式放在它自己的“手工缩小”样式表上。
答案 0 :(得分:9)
您可以使用
禁用缓存@{string path = BundleTable.Bundles.ResolveBundleUrl("~/bundle/cssCommon", false);}
//may apply manual path transformation to remove ?v= anyway
<link href=@path rel="stylesheet" type="text/css" />
或缩写
<link href="@BundleTable.Bundles.ResolveBundleUrl("~/bundle/cssCustom", false)"
但是你会遇到与缓存相关的问题而不是android WebView问题。 另一种可能的方法是使用Microsoft Ajax Minifier
答案 1 :(得分:4)
我们目前不支持自定义版本字符串在网址中的显示方式。
这是我们的codeplex网站上的问题的链接:Url version issue
与此同时,如果您愿意在每次更改捆绑包时手动修改捆绑包路径,那么您可以避免使用帮助程序,只需拥有指向捆绑包的明确链接,每次捆绑包都会更新变化:
<link href="/Content/themes/base/css" rel="stylesheet">
或者您可以通过bundle.Cacheability = HttpCacheability.NoCache