1. 程式人生 > >vue在ios返回上一路由白屏

vue在ios返回上一路由白屏

原文連結

問題描述:

進入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;
}
.container {
  width: 100%;
  height: 100%;
  background: #fff;
  overflow: scroll;
  -webkit-overflow-scrolling: touch;
  position: absolute;
  left:0;
  top:0;
}