EXT.NET项目IE9下CSS无法正常加载错误分析及解决方案

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 覆盖到项目中。

EXT.NET项目IE9下CSS无法正常加载错误分析及解决方案

相关文章:

你感兴趣的文章:

标签云: