如何根据浏览器版本捆绑特定的CSS?
我正在使用MVC4 StyleBundle
来捆绑一堆CSS。 IE 9或更低版本只需要一个CSS。
在我的BundleConfig
类的RegisterBundles
方法中,我有:
if (HttpContext.Current.Request.Browser.Browser.Trim().ToUpperInvariant().Equals("IE") && HttpContext.Current.Request.Browser.MajorVersion <= 9) cssBundle.Include("~/Content/ie.css");
但后来我得到了一个Request is not available in this context
错误中Request is not available in this context
。 在RegisterBundles
方法中是否无法检测浏览器?
是的Tejs是正确的。 捆绑包是全局的,不能根据请求变化,因为它们在首次引用后缓存在服务器上。 因此,您在上面所做的事情的问题在于,取决于首先访问请求的浏览器,这将填充缓存并确定所有后续请求将被接收的内容,无论它们是否是IE9。
你可以添加如下内容:
在这个例子中,我使用库Zepto和Jquery(如果它是Internet Explorer)。 这对我来说可以。 皮埃尔