关于WebView.goBack()在有的网页无法返回的问题的解决方法
2016-11-25 05:17
961 查看
今天研究WebView时,发现有的网页点击返回按钮,执行WebView.goBack();页面会重新加载而不是返回上一页,我写的点击按钮返回的方法如下
经过网上搜索资料发现出现这个问题是因为某些页面进行了重定向处理,即从a页面点击超链接后先跳转到b页面,b页面进行重定向后跳转到c页面,然后我们执行
webView.goBack();时会先返回到b页面,b页面又重定向到c页面,从而造成点击返回,却重新加载c页面的现象。解决这个问题最简单的方法就是在shouldOverrideUrlLoading方法里面返回false,让WebView自身去处理,就可以避免这种问题的发生。
是不是很简单!
补充一点,如果返回true就表示自己已经处理,不需WebView自身再去处理。
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack()) { webView.goBack(); return true; } return super.onKeyDown(keyCode, event); }
经过网上搜索资料发现出现这个问题是因为某些页面进行了重定向处理,即从a页面点击超链接后先跳转到b页面,b页面进行重定向后跳转到c页面,然后我们执行
webView.goBack();时会先返回到b页面,b页面又重定向到c页面,从而造成点击返回,却重新加载c页面的现象。解决这个问题最简单的方法就是在shouldOverrideUrlLoading方法里面返回false,让WebView自身去处理,就可以避免这种问题的发生。
webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { //此处进行逻辑处理 return false; } });
是不是很简单!
补充一点,如果返回true就表示自己已经处理,不需WebView自身再去处理。
相关文章推荐
- 关于Webview执行goBack不能返回的问题解决
- 关于webview加载网页,返回后总是刷新页面问题解决
- 关于Android原生集成5+webview,监听webview返回时,执行两次onkey方法问题的解决
- 关于Webview执行goBack不能返回的问题解决
- 解决Android Webview 重定向无法 goback 的方法
- 关于注册Google Map api key的方法和解决网页无法显示的问题
- video标签在安卓webview下无法自动播放问题的解决方法
- Android使用WebView嵌入网页,网页内点击跳转到另一个网页后,返回问题解决
- 关于微信WEBVIEW网页无法上传文件的问题,即是INPUT FILE不支持的问题
- 关于无法显示该网页,弹出对话框显示"Internet Explorer无法打开Internet站点xxx,已终止操作"问题的解决方法
- Android关于WebView中无法定位的问题解决
- 关于WebView的loaddata方法中文乱码问题解决,记录而已。
- 关于安卓webview加载网页黑屏、部分黑屏或blank的解决方法
- Android使用WebView无法定位问题的解决方法
- android Webview中注入js,用于解决第三方页中出现返回事件window.history.go(-1),无法响应问题
- 关于注册Google Map api key的方法和解决网页无法显示的问题
- 关于混淆打包后,webview 无法调用js方法 的问题
- ASP.NET --WEB应用程序 App_Code中新的类无法访问的问题解决方法
- 关于chm电子书无法显示网页的解决方法
- 关于Appserv无法打开localhost问题的解决方法