移動h5 開發遇到ios系統的各種問題彙總

2022-05-03 02:03:10 字數 1261 閱讀 8552

(所有測試發現的問題在vue專案基礎上)

1.移動端選擇時間時軟鍵盤彈出問題

解決方式就是獲取點選時focus事件,然後讓元素失去焦點(理解很簡單,焦點觸發手機的鍵盤)

這個不是ios系統的原因啦(ios不背鍋,反正下面的都是它的鍋)

2.ios手機滾動是出現卡頓

一般是設定y軸滾動overflow-y: scroll,父盒子是hidden,在ios系統上是卡頓的效果。

網上一搜就發現很多人都是用webkit-overflow-scrolling: touch解決的

確實可以解決這個問題,但是其實很有很多bug,下面會講到那些我遇到的bug

3.webkit-overflow-scrolling: touch 導致z-index失效

我的彈窗設定z-index等級是最高的但是每次彈出來都被蒙層給遮住了(安卓不會)

後面發現我的彈窗div的父盒子設定webkit-overflow-scrolling: touch,ios系統這個設定會導致z-index失效

一開始我的解決方式是動態設定webkit-overflow-scrolling,點選彈窗是設定為auto,關閉是設定為touch

測試發現這個確實可以解決z-index失效的問題,但是iphone6 會出現另外乙個問題(問題4)(我用iphone7 是ok的)

4.動態設定webkit-overflow-scrolling : touch/ auto 出現螢幕的閃爍

那就改布局吧 不要動態切換 touch/auto

待研究...

5.被蒙層遮住的div,居然還可以滑動 【ios滾動穿透】【驚呆臉】

場景,我的彈窗不是全屏,一般就用個半透明的布遮住後面的內容,誰曾想到,有天我把手指放到後面內容嘗試滑動,居然真操作起來。牛->ios

這個我處理方式很簡單 ,

在蒙層的div上加上一句 

@touchmove.prevent ,而且彈窗內容依舊正常滾動,關閉彈窗頁面內容也是正常滾動(已測)

想法很簡單,操作你還是經過我(半透明蒙層)(注:別加到body等根盒子上)

----未完善 待續

滾動過程相關學習  

移動h5開發中遇到的問題

1 輸入框觸發輸入法後,完成輸入,頁面不回彈,這在ios手機上很常見,解決辦法是,在輸入法失去焦點是,上讓頁面抖動一下,網上很多的解決辦法,具體就不說了,時機可以自己把握,只要是完成輸入法,就可以讓頁面抖動一下 2 ios上,當用absolute將底部欄定位到底部時,向上拖動頁面,底部欄會跟著網上被...

H5混合開發IOS中遇到的坑

1.ios系統手機無法自動 bgm 這個是蘋果系統限制,預設不允許自動 音訊,往往需要點一下觸發play 事件才能 那麼我們在頁面onload後觸發 事件 document.getelementbyid music play 到這裡一般都可以 了,如果還不行,很有可能是微信的限制。這時需要呼叫微信介...

移動端h5開發基礎

移動端h5開發基礎知識 一.手機端開發頁面必須要加一段 注 這段 的主要意思是 讓頁面寬度等於裝置寬度,縮放比例為1,禁止使用者縮放。用於檢測視口,主要的效果就是取消下面的滾動條,讓頁面適應螢幕。二.為自己的頁面設定最大寬度和最小寬度 主要作用是在螢幕足夠大的時候,頁面也不會失真。三.相容手機螢幕大...