1. 程式人生 > >Vue專案 ios 頁面留白解決方案(尤其是webView)

Vue專案 ios 頁面留白解決方案(尤其是webView)

問題描述:

進入A頁面——>B頁面——>ios自帶的返回——>白屏出現——>手動點選白屏處——>問題解決

原因分析: 

在ios機器上使用webview開發Vue專案時候,go history(-1), 無法將body的高度拉掉,使得遮住,觸發輕點選,方可消除遮罩

解決的理論:

用於最重要的html 容器是container,然而因為設定html、body高度是100%,從而造成了 container 撐開父級,但瀏覽器預設滾動的scroll 並不是 container(可能我這裡認識是錯的),而是body,某些因素,造成返回history 後,無法復原(ios 的鍋),為此,我們將 container 進行了絕對定位,並讓它重新成為 scroll 的物件,從而解決問題

解決方案:

html, body {

    width: 100%;

    height: 100%;

    margin: 0;

    padding: 0;

    position: relative;

}

#app {

    width: 100%;

    height: 100%;

    overflow: scroll;

    -webkit-overflow-scrolling: touch;

    position: absolute;

    left:0;

   top:0;

   padding-bottom: .9rem

}

vue路由跳轉處理:

//路由跳轉新頁面 預設顯示在最頂端

router.afterEach((to, from, next) => {

    window.scrollTo(0, 0);

});