原文連結位址
問題描述:
進入A頁面——>B頁面——>ios自帶的傳回——>白屏出現——>手動點選白屏處——>問題解決
原因分析:
在ios機器上使用webview開發Vue項目時候,go history(-1), 無法将body的高度拉掉,使得遮住,觸發輕點選,方可消除遮罩
解決方案實作原理:
html,body都是100%,#app撐起了父元素的告訴,但是浏覽器預設的滾動scroll并不是#app,而是body,某些因素,造成傳回history 後,無法複原(ios 的鍋),為此,我們将#app 進行了絕對定位,并讓它重新成為 scroll 的對象,進而解決問題
實作代碼:
html, body {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
position: relative;
}
#app {
width: 100%;
height: 100%;
background: #fff;
overflow: scroll;
-webkit-overflow-scrolling: touch;
position: absolute;
left:0;
top:0;
}
設定以後頁面無法滾動的解決辦法(這裡就拿container舉例,具體類名以實際情況為準)
.container {
width: 100%;
height: 100%;
background: #fff;
overflow: scroll;
-webkit-overflow-scrolling: touch;
position: absolute;
left:0;
top:0;
}