我最近在一个网站上遇到了一个问题,网页上的样式确实搞砸了,但只在IE中.我的老板告诉我这可能是因为正在呈现的CSS Bundle包含来自不同目录的CSS文件,所以我检查了它.它类似于以下内容:
bundles.Add(new StyleBundle("~/path/subpath/all").Include( "~/path/subpath/filename.css","~/path/subpath/filename1.css","~/path/subpath/filename2.css","~/path/subpath/filename3.css","~/path/subpath/anotherSubPath/filename.css","~/path/subpath/anotherSubPath/filename1.css","~/path/aDifferentSubPath/filename.css"));
他说Bundling无法像这样工作,你必须只有Bundle中相同目录的文件,所以我把它们拆分成如下所示:
bundles.Add(new StyleBundle("~/path/subpath/all").Include( "~/path/subpath/filename.css","~/path/subpath/filename3.css")); bundles.Add(new StyleBundle("~/path/subpath/anotherSubPath/all").Include( "~/path/subpath/anotherSubPath/filename.css","~/path/subpath/anotherSubPath/filename1.css")); bundles.Add(new StyleBundle("~/path/aDifferentSubPath/all").Include( "~/path/aDifferentSubPath/filename.css"));
这在IE中解决了我们的问题.好的,现在问我的问题:
>我的老板是否正确?你不能捆绑不同文件夹中的文件吗?
>如果他是正确的,为什么这只会在IE中中断?为什么你必须只从同一目录捆绑文件?
>如果他不正确可能是什么问题?为什么拆分捆绑已修复它?
解决方法
对于IE的旧版本,至少< 10有一些已知的限制 IE可以加载的CSS和脚本文件的数量 – 如果您在调试模式下运行站点,而捆绑包未捆绑,则可能会出现问题. 如果不是这样,那么你在一个文件中有超过4,096个选择器???
Internet Explorer CSS limits