fetch在移動端的相容性問題

2021-09-05 11:19:45 字數 789 閱讀 5674

前段時間在做移動端h5應用開發過程中,遇到乙個奇怪的問題:同樣的頁面,在ios比較新的版本上可以正常載入,但是在ios 10.2.1上卻一直 loading,載入不出來。借助除錯工具發現,是在傳送 http 請求的過程中報錯了,unhanled promise rejection,具體的錯誤截圖當時忘記儲存了。

剛開始懷疑是ios 版本的問題,但是同樣版本上,其他的h5頁面可以正常載入。

然後我們嘗試改變了一下傳送請求的方式,使用ajax 代替 fetch,結果是可以正常載入。

然後就懷疑是 fetch 在此版本的 ios 端有相容性問題。

可以看到,在一些瀏覽器下,fetch的相容性並不好。

解決方案就是:使用polyfill。這裡推薦使用whatwg-fetch

當然,在這個方案中,他使用了promise,所以針對一些不支援promise的瀏覽器,還需要引入promise的支援。

所以,一般在應用開發中,如果用到了fetch的話,在入口檔案處一般需要引下如下的資源:

import 'promise-polyfill/src/polyfill';

import 'whatwg-fetch'

移動端相容性問題

1 定位問題 ios 2 寫背景圖時最好加上top left 或者0 0 不然寫運動效果時容易出現跳 3 防止手機中網頁放大和縮小 4 設定web應用是否以全屏模式執行 content的預設值是no 5 自動識別 號碼 telephone no可以禁用這功能,預設值是no 6 禁止複製 選中文字 e...

移動端相容性問題

產生原因 pc端的點選事件在移動端也有效果,但是在移動端使用點選事件會有300毫秒的延遲,如果有兩個元素是重疊的,點選之後上面那個元素消失了就會出現點透事件,如果下面元素有點選事件,就會被觸發,因為執行過程 手指按下之後,會先執行touch事件,然後記錄點選的座標,300ms之後,在該座標上查詢元素...

常見移動端相容性問題

文章 1.ios移動端click事件300ms的延遲相應 移動裝置上的web網頁是有300ms延遲的,往往會造成按鈕點選延遲甚至是點選失效。這是由於區分單機事件和雙擊螢幕縮放的歷史原因造成的。解決方式 fastclick可以解決在手機上點選事件的300ms延遲 zepto的touch模組,tap事件...