IE6浏览器中的gzip压缩输出问题

来源:互联网 发布:php防止sql注入方法 编辑:程序博客网 时间:2024/06/01 01:33

    网站为了提供更好的用户体验,我们会想办法提高用户的浏览加载速度。通常会将javascript代码进行gzip压缩后再传输到客户端的浏览器,这样文件大约可以压缩至原来30%-40%的大小。而且目前大部份的浏览器都支持gzip压缩输出,如IE、Firefox 、Chrome等主流浏览器。不过今天在测试代码的时候却发现了一个大问题。在IE6浏览器上会出现javascript脚本执行慢或是页面假死的现象,而在IE8和Firefox上都运行的非常良好,通过ajax请求数据时也会出现数据异常的情况?

    到微软官方一查,给的答复令人非常的无语:“请不要对脚本文件开启http压缩”。

    没有办法,微软都这么说了,我们只好禁用gzip。具体的解决方法:

    tomcat中,编辑conf/server.xml ,在相应的Connector 中禁用gzip,compression=”off”,其他服务器做法类似,禁用gzip就行了,这种做法对所有浏览器发出的请求都禁用了gzip。

    <Connector port=”80″ address=”0.0.0.0″ protocol=”HTTP/1.1″    enableLookups=”false” redirectPort=”8443″ acceptCount=”100″    connectionTimeout=”20000″ disableUploadTimeout=”true”    compression=”off”  />

    还有一种办法就是在服务器端增加对浏览器的识别代码,如果是IE6及更低版本的IE浏览器就禁用gzip,对其他浏览器启用gzip压缩,可以这样做(我只测试了nginx):

在nginx.conf文件的server节点中加入

    gzip on;    gzip_disable “MSIE [1-6]\.”;

个人建议还是考虑第二方案比较好。

PS:看完这篇文章以后,就算是外行人,应该也明白为什么那么多人迫切希望淘汰IE6了。


本文转载自:http://www.iefans.net/ie6-gzip-yasuo/

更多关于ie6和gzip的bug:http://www.cnblogs.com/_franky/archive/2012/04/28/2475223.html

原创粉丝点击