談談瀏覽器兼容性問題

爲何瀏覽器會存在兼容問題?

  • 同一瀏覽器,版本越老,存在bug越多,相對於版本越新的瀏覽器,對新屬性和標籤、新特性支持越少。
  • 不一樣瀏覽器,核心技術不一樣,標準不一樣,實現方式也有差別,最終呈現出來在大衆面前的效果也是會有差別。

處理兼容問題的思路:

1. 要不要作?

  • 產品的角度(產品的受衆、受衆的瀏覽器比例、效果優先仍是基本功能優先)。
  • 成本的角度 (有無必要作某件事)。

2. 作到什麼程度?

  • 讓哪些瀏覽器支持哪些效果。

3. 如何作?

  • 根據兼容需求選擇技術框架/庫(如jquery 1.x.x)。
  • 根據兼容需求選擇兼容工具:html5shiv、Respond.js、CSS Reset、normalize.css、Modernizr.js、 postcss。
  • 條件註釋、CSS Hack、js 能力檢測作一些修補。

漸進加強和優雅降級

  • 漸進加強(progressive enhancement): 針對低版本瀏覽器進行構建頁面,保證最基本的功能,而後再針對高級瀏覽器進行效果、交互等改進和追加功能達到更好的用戶體驗
  • 優雅降級(graceful degradation): 一開始就構建完整的功能,而後再針對低版本瀏覽器進行兼容
相關文章
相關標籤/搜索