纠结了一天的 IE6 和 gzip 的问题

网站上有几块东西是通过 script 标签引用另一个服务器上的一个js来输出的。这样即使那边服务挂了网站上顶多也就少一块内容,不至于打不开。

但之后发现了一个大问题。在 IE6 上,这几块东西会随机的不显示,也就是说,那几块 script 会随机地不执行,而在 IE7 和 Firefox 上都正常。查了半天也不知道是为什么。调着调着发现,在测试机上正常,但是在生产环境上就是不对。比对了两边的响应头发现,测试机上没有对输出进行 gzip 压缩。到生产环境上把压缩关了,一切都正常了。

6 thoughts on “纠结了一天的 IE6 和 gzip 的问题

  1. pp November 4, 2008 / 6:06 pm

    js真是版本繁多……

  2. 零点坐标 November 2, 2008 / 2:32 pm

    我们要把测试环境的gzip打开……
    另外我的Linux终于把ie6终于装上了,上班了给你秀下^_^

  3. 万恶 November 2, 2008 / 12:04 am

    “网站上有几块东西是通过 script 标签引用另一个服务器上的一个js来输出的。这样即使那边服务挂了网站上顶多也就少一块内容,不至于打不开。” 如果你指的网站是blogbus后台的话,我估计是讲那个“天气”显示的插件吧……(仅猜测)
    因为我有时会遇到那块显示红叉的问题,而我用的又是IE6

  4. 舞羽飘渺 November 1, 2008 / 5:58 pm

    这个模板的颜色,有点忧郁。

  5. 车东@博客大巴 November 1, 2008 / 3:34 pm

    去网上查了一下 mod_deflate ie6 还真有不少人遇到过:
    列出幾個已經知道的問題:
    * Content with “Content-Encoding: gzip” Is Always Cached Although You Use “Cache-Control: no-cache” (在 IE6 SP1 以及之前的版本)
    * HTML pages only partially appear, HTML pages do not appear at all, or the network stops responding (在 IE6 SP1 以及之前的版本)
    還要繼續整理這些 bug 資訊,確保使用者端能夠正確的解開。目前看起來,如果看到 IE6 就不使用壓縮功能是比較簡單的解決方法…
    这段评论比较有趣:
    http://www.robertswarthout.com/2007/05/ie-6-apache-mod_deflate-blank-pages/
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4.[0678] no-gzip
    BrowserMatch MSIE !no-gzip !gzip-only-text/html
    Making these changes seemed to have fixed the issue. Now when a page is loaded in IE6, any external javascript file will not be gzipped and their page load will be slower. I suppose that is punishment for not upgrading to IE7 or getting Firefox.

Leave a reply to 车东@博客大巴 Cancel reply