PC端、移動端的頁面適配及兼容處理

來自博客園一網友的分享:

答案參考 https://www.cnblogs.com/shenxiaolin/p/5388464.html(來自http://www.uisdc.com/mobile-compatibility-analysis和http://www.ituring.com.cn/article/130015的整合)

第一種是通過響應式或頁面終端判斷去實現一套資源適配所有終端;

優勢:只需維護一套資源,維護成本較低。

劣勢:圖片資源爲一套,部分圖片在超高分辨率設備(例如iphone系列)下會失真,且在非wifi情況下即使加了延時加載也易出現加載慢的情況。

技術選型:jquery(或原生js等)+ 響應式 + 前端模塊加載器(seajs或RequireJS等)+ css預處理器(sass 或less等)。jquery較好的兼容性配合響應式可相對代價較小地實現跨終端。前端模塊加載器主要負責按需加載,以提高頁面加載速度,css預處理器 的變量、運算、嵌套等特性可大大提高手動計算響應式的效率,再也不用擔心我把比例算錯了。當然後兩者可參考需求及成本決定是否採用。

第二種是通過終端判斷分別調取兩套資源以適配所有終端。

優勢:可根據不同端做個性設計及個性化信息推送且可按需加載,如移動端可配合重力感應、不同手勢做各種炫酷拽效果,pc頁面可不受流量限制做適合pc端的效果。

劣勢:需維護兩套資源,維護成本增加。

技術選型:zepto(或xui等移動端輕量級框架)+ 響應式 + 前端模塊加載器 + css預處理器 + 終端適配。zepto作爲jquery的移動端版本,依然延續其自身優勢,大幅優化了移動端API且摒棄了兼容”非現代瀏覽器”的冗餘代碼,成爲移動端輕便可用的js框架代表,對於習慣了jquery的同學來說簡直是不二之選!

終端適配目前一般通過ua判斷來實現。ua判斷可放在服務端也可放在頁面中,在代理服務器中做跳轉更快、更準確且不走應用程序層,即使瀏覽器禁用了js依然可以跳轉到相應的地址,同時秉承着公共服務放在服務端這樣的雲端服務理念,我們選擇了通過代理服務器做終端適配。

User-Agent嗅探,即Web瀏覽器發送一個Web頁面或資源請求時,會發送一個User-Agent首部作爲HTTP請求的一部分,那麼我們就可以在服務器端獲取想要的信息,進而判斷並引導用戶到達相應的頁面地址。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章