精華區beta Ajax 關於我們 聯絡資訊
最近看到一個令我百思不得其解的問題 某個網頁他firefox/ie7/ie8 的 js request 都可以正常收送, (目標是某個server side 的頁面,會回傳一個 json 。) 唯獨就只有 ie6 在收送的過程中出現非預期的行為。 但最奇怪的是也不是冒 404 ,所有丟出去理當要執行的參數彷彿都石沉大海, 只有一個回傳值是空白的徵象。 在我記憶中實在是沒碰過這個問題,而且這又是最最基礎的 ajax 型式, 我直接用瀏覽器開目標頁也沒有問題,實在是令我百思不得其解。 (用的是 jQuery get/post function 測試...) 於是我試著用 ie6 實驗去 request 一個 ini 靜態檔, 發現能正常取得資料,這又讓我百思不得其解。 反覆做了幾次測驗之後,把行為歸類在 server side產出結果會爆炸。 這下子就把目標縮小到大概是 header 或者是 哪些meta value沒有弄好, 試了 text/plain header ,沒搞頭。 後來又從firebug中的 html header 中反覆琢磨, 覺得這 gzip 感覺是最有風險的東西。(這種直覺是過去經驗累積的...) google 一下 ie6 js gzip ,發現原來這是個古老的 bug , 只是過去我太少開 gzip ,所以才遲遲沒踩到這個雷...... 關掉 gzip 就好了...... orzorz 其他人一樣的踩雷資料 http://blog.xuite.net/vexed/tech/24774589 或者網路上有其他作法,就是針對ie6 user-agent 去丟不同檔案, 參考 http://wange.im/the-best-gzip-for-wordpress.html -- 總之是個很冷門而且是基本到如果沒有相關經驗, 大概撞個一兩個禮拜都還不知道到底怎麼死的規格雷...... -- 我:一半的日子讓你說,我聽你說你的所有______________________________________ ______________________________________一半的日子我想說,對你說過去的所有:我 _______________________________________________________ 在討論中妥善扮演兼具聆聽與分享的角色,是我們一生的課題。 _______________________________________________________ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.70.170.11 ※ 編輯: TonyQ 來自: 111.70.170.11 (06/01 02:47)
gpmm:恭喜踩中 ie6 的 gzip 地雷 XDD 06/01 02:49
※ 編輯: TonyQ 來自: 111.70.170.11 (06/01 02:54)
TonyQ:幹...我想追加定兩件 ie6 must die... 06/01 02:55
TonyQ:是說我有感覺到有經驗值上升的音效了...= = 06/01 02:57
statue:IE6 MUSE DIE! 06/01 09:37
wxyy:從 header 判斷一下瀏覽器....gzip 還是可以加啦... 06/01 10:55
JYHuang:之前IE6+Gzip+Header download也是有壓縮檔毀損的問題.. 06/01 11:23
JYHuang:所以在gzip裡面加判斷...不鳥IE6 06/01 11:23