一點一滴,編程人生

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            69 隨筆 :: 0 文章 :: 25 評論 :: 0 Trackbacks

          今天在做網(wǎng)頁的時候發(fā)現(xiàn)一個問題:一個網(wǎng)頁在ie 7下是白屏。我查看了源碼,發(fā)現(xiàn)內(nèi)容完好,并且ie6、其他的瀏覽器、以及非原生態(tài)的ie7(ieTester下)都沒問題。

          一開始我懷疑是頁面結(jié)構(gòu)問題等。在修改了css、js等后發(fā)現(xiàn)仍沒有起色,疑惑間我想到是不是出了編碼問題。畢竟編碼問題經(jīng)常會導(dǎo)致頁面的解析錯誤。

          最終發(fā)現(xiàn):

          如果你的編碼信息在title之后就可能導(dǎo)致上述問題的發(fā)生:
          <title>Long Step</title>
          <meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″ />

          解決方式很簡單,只要交換一下順序
          <meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″ />
          <title>Long Step</title>

          分析原因:

          那么為什么只有ie7會出現(xiàn)這樣的問題呢?這是由于ie7解析網(wǎng)頁編碼時以html內(nèi)的標簽優(yōu)先,而后才是http header內(nèi)的訊息,而mozilla系列的瀏覽器則剛剛相反。
          由于utf-8編碼的頁面為3個字節(jié)表示一個漢字,而普通的gb2313或big5是兩個。頁面輸出時,由于上述原因,使瀏覽器解析、輸出<title></title>的內(nèi)容時,如果在</title>前有奇數(shù)個全角字符時,ie7把utf-8當作兩個字節(jié)解析時出現(xiàn)半個漢字的情況,這時該半個漢字會和</title>的”<”結(jié)合成一個亂碼字,導(dǎo)致ie7無法讀完<title>部分,使整個頁面為空百輸出。而這個時候如果察看源文件的話,會發(fā)現(xiàn)實際上整個葉面全部已經(jīng)輸出了。
          因此最簡單的解決辦法是在網(wǎng)頁文件的<head></head>標簽中一定要把字符定義<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />放在<title></title>之前。
          實際上,其他編碼版本的也存在類似的問題,只是我們大家的瀏覽器默認編碼都是 GBK 所以更不容易被察覺罷了。

          其實說到底,注意標簽的順序也是我們需要注意的好習慣。


          轉(zhuǎn)載鏈接:IE 7下頁面白屏的解決方法
          posted on 2009-11-08 18:19 writegull 閱讀(508) 評論(0)  編輯  收藏 所屬分類: IE

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 昭通市| 河北省| 赤城县| 修武县| 九龙城区| 东莞市| 汤原县| 抚松县| 广水市| 常德市| 铜梁县| 临武县| 德州市| 上林县| 广水市| 如东县| 邢台市| 新晃| 策勒县| 贵阳市| 邵阳县| 辽阳县| 九龙县| 永嘉县| 海原县| 太康县| 临洮县| 梅河口市| 蓬溪县| 霍山县| 芦山县| 宣武区| 牡丹江市| 若尔盖县| 东港市| 林口县| 二连浩特市| 佛坪县| 墨江| 子长县| 彰化市|