H5跳轉問題記錄


H5跳轉問題

1. 問題記錄

在嵌入在APP的頁面中,出現了H5的多層級跳轉返回混亂的問題。我們在頁面跳轉的時候統一用了window.location.replace這樣的本意是在history的棧中,推進了當前棧,history棧的長度+1的。當觸發webview的返回事件時,最好是選擇history.go()或者history.back()的方法

2. 業務中的使用

如果APP原生沒有對返回按鈕做處理的話,就相當於瀏覽器的返回按鈕是一樣的,我們現有的需求是希望用戶點擊彈框的關閉按鈕,跳轉到上一級頁面。最初的代碼是選擇使用window.location.replace的方式,這種方式就使得history棧的長度+1,在回到上一級頁面時,再次點擊返回,又回到了有彈框的頁面,這樣就會陷入到死循環。所以,我們在這次關閉彈框時,選擇了用history.go(-1)的方式,這樣不管用戶怎么操作,用戶都是從上一級頁面進來的,返回的時候也始終是返回到上一級頁面。

3. H5中的坑
  • 在嵌入到APP的H5頁面中,直接使用history會存在報錯的異常,我們最好是選擇使用window.history
  • H5頁面中的棧溢出,這種情況不確定是不是在所有嵌入到APP H5頁面都是這樣,在IOS中,如果使用window.location.replace的跳轉,會出現棧溢出,超出最大限制的問題,所以,在跳轉的事件中,我們統一使用了window.location.href的事件。

這些問題都是在我們H5嵌入到APP中關於history遇到的問題整理


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM