android webview加载h5页面,遇见后台重定向的页面,点击返回键一直退不出去进入到加载页面

项目是webview+h5wan完成的,除啦自己网站的h5还有地方用到第三方的web页面,其中有个页面有重定向到另外一个页面,造成了页面无法后退,后退到上个页面,又重定向到之前界面,重定向源页面也被加入到浏览记录中,刚开始想查找api中找个编辑历史记录的方法,把找重定向源页面从历史记录中删除,半天找不到,只有clearHistory方法。

后用浏览器访问该网站,则后退正常,会退到重定向页面。用微信内置WebView ,QQ内置WebView打开该页面后退也正常,发现重定向源页面也被加入到浏览记录中。

 

纠结半天,阿紫网上而不使用Webview.goBack(),在*上找也大都是这些。感觉这些方法不完美,没有从根本上解决问题。总感觉还有更好的方法,一个偶然情况下发现了解决方案。


在使用WebView的时候,我们一般都会设置WebViewClient ,重写shouldOverrideUrlLoading方法,让webView加载点击url,并return true。因为不这样设置,点击页面上的链接弹出浏览器

android webview加载h5页面,遇见后台重定向的页面,点击返回键一直退不出去进入到加载页面

设置过后就没问题啦。前面拦截的地方是识别网页中的电话。

有关重定向的文章:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Redirections