移動端的那些坑

2022-09-14 01:33:10 字數 1169 閱讀 1093

首先我們來看乙個結構:

<

div

class

='header'

>....

div>

<

div

class

='main'

>....

div>

<

div

class

='footer'

>

<

textarea

>

textarea

>

div>

其實就是最基本的上中下布局而已,問題是header和footer需要分別fixed到頭部和底部。

遇到的都知道在ios的safari裡面不支援position:fixed, 其實也不算是不支援,只是在軟鍵盤彈出來的時候使用fixed的元素就開始各種抽風了。

解決方法:在鍵盤彈出來之前按照正常的定位,使用fixed,彈出來的時候將footer這部分position:static;然後這樣footer就會跑向頁面的最下面了,然後再將頁面主動滾動到底部,當blur的時候再把footer設定回去。

解決方法:其實為啥使用了otextarea.focus()不管用,其實就是中間的這層ajax使用了非同步了。這樣瀏覽器以為這是兩件事,處於安全性考慮它給禁止了,然後將ajax改成同步的就ok了。

同樣在window.open()的時候也會遇到這個問題,解法相同。

本來是在失焦的時候觸發了乙個blur事件的東西,這樣就會出現問題。

解決方法:

(function()  else 

}, 1000);

} loop_height();

})();

其實就是一直獲取頁面的可視高度,在鍵盤彈出來的時候鍵盤的部分不算innerheight;這樣在鍵盤收起來的時候就能知道了,如果感覺時間比較長可以把settimeout的時間改小一點,預設在少於300ms的時候感覺不出頁面的遲鈍。

解決方法:在focus事件的最後

$body.scrolltop(

$body.get(0).scrollheight + $("textarea").height()

);

就是讓頁面主動滾動下,反正textarea在最底部,那麼就把頁面滾動到最底下就成了。

那些移動端web踩過的坑

扔了n久,還是撿回來了。好好弄一下吧。剛工作的時候挺忙的,後來不那麼忙了,但是變懶了。這一年大多數時間都在在做移動端的東東,做了之後才發現,同樣是web前端,移動端的坑真的是深不可測,各種各樣的,只有想不到,沒有遇不到。在這裡把最近踩過的坑整理一下。首先,要解決的關鍵問題是如何為裝置選擇可視視口尺寸...

移動端使用iframe碰到的那些坑

這裡簡單談一下移動端h5程式設計中碰到的iframe的bug,具體詳述如下 在專案中,我主要使用iframe做彈出層,在iframe的外部放一層div,控制這個div,通過刪除或追加div來決定是否使用iframe,iframe外層包div的做法也是很多部落格裡提倡用的做法。頁面結構如下 樣式如下 ...

移動端填坑

1 0.5px邊框或者0.5px高度在安卓手機下不顯示問題 item gap 2 display inline block不僅左右會有無法測量的間距,上下也會有,會影響文字3 直接在外面加1px的淺顏色邊框時,視覺上和邊框之間會有一條白線 把乙個帶邊框的透明層放到上,這樣當時是乙個有留白的時候是可以...