EXT.NET项目IE9下CSS无法正常加载错误分析及解决方案
错误描述:
1. 项目中使用了ext.net
2.
在ie9及以上浏览,css样式无法加载。提示错误:“SEC7113: CSS 因 Mime 类型不匹配而被忽略!”
3.
打开浏览器的调试工具,在网络面板中查看页面文件的加载信息。发现:请求头信息Accept:text/css
,响应头信息:Content-Type:text/html
由此可见,请求头信息 accept:text/css
格式正确,说明页面中CSS文件调用方式正确。而响应头信息中:Content-Type:text/html显然是造成CSS不加载的原因。因为IE9新的安全机制要求web
server送过来的 HTTP response
header中的content-type必需指明css文件的MIME-type为“text/css”,否则IE9不会把它作为css文件来处理。
由此,我们需要找出响应头信息中“Content-Type”错误的原因。
在EXT.NET项目中,js和css文件都被封装在EXT.NET.dll的文件中,在项目自动加载。
调用链接类似于:http://xxxxxx/ext-all-embedded-css/ext.axd查看响应头信息该文件的“Content-Type”也是“text/html”。
搜索资料可知,Ext.Net 对脚本和CSS文件采用 Gzip
方式压缩客户端的响应,提高了CSS和JS的加载速度,如果将修改方式定位在EXT.NET对于CSS的处理机制上,显然太过复杂。
相对来说,将自己定义的CSS样式添加到EXT.NET中显然要容易许多。
解决方案:
1. 修改 Ext.NET.Pro / Ext.Net
中调用的CSS文件:ext-all-embedded.css,将自定义的CSS文件添加进去。
2.
修改CSS中背景图片的链接格式,将所用到的图片导入进去。
3. 重新生成 Ext.Net ,将生成后的 EXT.NET.dll
覆盖到项目中。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。