瀏覽器兼容性彙總

  雖然微軟已經放棄了IE,但是還是有那麼多的人在用着IE,對於前段開發來說,瀏覽器標準化讓未來看起來很美好,但回到現實,還是得維護那一堆的兼容性問題。

一、與衆不同的瀏覽器:

  1. 遠古時候的IE6
      這個博客介紹的是IE6下的缺陷,涉及居中佈局、ul > li樣式、height設置微距離無效(必須大於字體高度)等bug及相關應對方案:
      http://www.iefans.net/ie-9-css-bug/

  2. 巨坑無比的IE8:
    -> 不支持canvas(IE 10),不支持web worker(IE 9), 大量的第三方js庫都不兼容
    -> 一張頁面引用的css文件個數不可超過32個。
        背景:整個網站使用同一個框架html,每個模塊只有在用戶點擊加載後,才運行自身的js、css來動態加載子頁面,隱藏之前頁面。
        問題現象是使用IE10以上的瀏覽器,用IE8模式加載頁面,ok。使用源生的IE8,整個網站樣式混亂。主線代碼正常,特性分支開發正常,合入主線後問題出現,第三方js庫等公共資源未被修改。最後定位原因爲特性開發時去掉了很多主線模塊,合入主線時需要向前兼容,原有代碼和新開發代碼合在一起,css文件個數超出上限導致。解決方法:css文件合併。教訓:特性開發結束時css文件合併工作必須做。

     收集的IE8相關博客:
       http://www.hustlzp.com/post/2014/01/ie8-compatibility
      

二、無人問津的標準:

  1. input輸入框有一個type=file,用於文件上傳, 該輸入框在不同瀏覽器表現完全不同,鼠標懸浮時的提示信息各有各的特色(特別是需要做國際化時,整個頁面都是英文,瀏覽器默認的tooltip顯示卻是中文)。一般操作都是將input隱藏在一個div中,做成點擊div時,事件傳給input處理。‘
      還要留意的是上傳文件時,從input中獲取的數據,只有在IE10以上纔有file對象,所以文件大小檢查什麼的在IE10以下還得想辦法。//TODO  之前項目中的處理是評估文件大小是否對前臺有影響(太大頁面會崩潰),因爲後臺有做文件大小檢查,這段未做深入處理。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章