android WebView 加载重定向页面无法后退解决方案
来源:互联网 发布:ansys优化设计实例 编辑:程序博客网 时间:2024/05/22 06:38
项目中需要用webView加载第三方的web页面,其中有个页面有重定向到另外一个页面,造成了页面无法后退,后退到上个页面,又重定向到之前界面,重定向源页面也被加入到浏览记录中,刚开始想查找api中找个编辑历史记录的方法,把找重定向源页面从历史记录中删除,半天找不到,只有clearHistory方法。
后用浏览器访问该网站,则后退正常,会退到重定向页面。用微信内置WebView ,QQ内置WebView打开该页面后退也正常,发现重定向源页面也被加入到浏览记录中。
纠结这个问题困扰了两三天,各大网站找解决方案也找不到一个完美的方法,大部分都是新建集合另外记录下浏览记录,后退时加载集合里的记录的页面。而不使用Webview.goBack(),在stackOverflow上找也大都是这些。感觉这些方法不完美,没有从根本上解决问题。总感觉还有更好的方法,一个偶然情况下发现了解决方案。
在使用WebView的时候,我们一般都会设置WebViewClient ,重写shouldOverrideUrlLoading方法,让webView加载点击url,并return true。因为不这样设置,点击页面上的链接弹出浏览器
- webView.setWebViewClient(new WebViewClient() {
- @Override
- public boolean shouldOverrideUrlLoading(WebView view, String url) {
- view.loadUrl(url);
- return true;
- }
- });
而造成重定向源页面被加入历史记录貌似恰恰是这个设置。而让人想不到的解决方案竟是下面这段代码
- webView.setWebViewClient(new WebViewClient() {
- @Override
- public boolean shouldOverrideUrlLoading(WebView view, String url) {
- return false;
- }
- });
之前我以为这样设置跟没设置WebViewClient效果一样,也会点连接弹浏览器。没想到竟是完全不一样的,这样设置点连接会在当前webView打开,而且重定向页面后退也没问题
android真心交流群: 451370308
广告等等绕行
0 0
- android WebView 加载重定向页面无法后退解决方案
- android WebView 加载重定向页面无法后退解决方案
- android WebView 加载重定向页面无法后退解决方案
- android WebView 加载重定向页面无法后退解决方案
- android WebView 加载重定向页面无法后退解决方案
- android webview 加载重定向页面时点击无法回退,导致重复加载当前页面问题的解决方案
- Android WebView 因重定向无法正常goBack()解决方案
- Android WebView 因重定向无法正常goBack()解决方案
- Android WebView 因重定向无法正常goBack()解决方案
- Android WebView 因重定向无法正常goBack()解决方案
- Android WebView 因重定向无法正常goBack()解决方案
- Android WebView 因重定向无法正常goBack()解决方案
- Android WebView 因重定向无法正常goBack()解决方案
- Android WebView重定向问题的解决方案
- Android中webview加载重定向地址
- Android WebView页面重定向问题
- Android WebView重定向的网页无法goBack()的几个解决方案
- WebView重定向的解决方案
- 杭州电子科技大学ACM-1094
- rails 循环对象cycle
- Ant: antlib协议
- jedis 2.2.0 升级 2.6.2 不兼容问题
- string 与char* char[]之间的转换
- android WebView 加载重定向页面无法后退解决方案
- Red5边源服务器集群部署
- 什么是Portal?
- 判断两个对象内容相等与equals方法
- rails 国际化、validate校验、flash提示
- 移动端从网页调起客户端应用
- UDP 编程 客服咨询回复
- Linux内核网络报文简单流程
- 线段树