android自带webview如何返回到非空白页只在 webview 的历史吗

现在在用webview做google map的程序有个问题是點击google map的某个地点,他会弹出自己的弹出框我不想要这个弹出框,但是google map api v3好像又不能禁用他自己的弹出框然后我就想禁用他的这个http请求,請问要怎么做呢

但是发现WebView中的网页明明前面没有頁面了判断webView.canGoBack时还是返回true,而执行goBack()时只是重新刷新这个网页。请问是为什么

以上问题是在webview的顶层返回会一直刷新当前页面,但是我的問题是在webview的顶层会返回一个空白页

我的具体需求是这样的进入一个webview页面,标题是自己原生写的 下面是一个webview 如下图所示

当我前点击进入webview嘚下一层页面时原生标题的左边会显示出一个返回键,用于返回webview的上一层如下图

返回到上一层的标题后 如果上一层是第一层的话返回键隱藏

我的问题是返回到第一层之后,返回键没有隐藏canGoBack方法返回了true,表示还有上层点击之后显示的空白,这可真是难为我了 后来想了一個解决办法不是很完美 但是暂时完成了自己的需求

声明了一个全局page变量为1 在onPageFinished执行完成之后page++。在这里我做了一个判断当page=1的时候返回键隐藏 不等于1的时候判断webview.loadUrl的url与方法中的url相对比,如果相等 表示当前页就是第一页如果不相等,表示当前页不是第一页逻辑就是这样的一个邏辑,暂时就只能这么处理了可以想到的问题就是如果webview.loadurl的页面不是第一页,那就不知道如何处理了暂时先这样,出现问题了以后在解決

另外粘贴出来自己的解决办法,返回键左上角返回键的逻辑处理 看到这篇笔记的小伙伴如果有好的办法请帮我一下(留言即可)

在android自带webview开发过程中为了方便更換内容、跨端等因素往往会选择Nature和Web混合开发,使用Web就不得不提到WebView将网页Url直接放入WebView中就可显示网页内容,但是有时候会有加载不出来显礻一个空白页面,作者在开发过程中遇到两个原因导致此种现象特此记录下来,一是为了自己以后避免再次入坑二为有相同问题的同誌助个力

原因一:Url设置不对

原因二:网页和网页资源混用Https和Http

从源码解释中看到android自带webview API 21以后默认不允许使用Https与Http混合模式,所以当网页链接是Https網页资源例如img是Http时,网页就会加载失败所以需要以下设置即可:

设置允许使用混合模式,这样当使用混合模式时就能成功加载网页

以上僦是作者在开发中遇到的加载网页空白的原因分享出来避免大家入坑!!!

我要回帖

更多关于 android自带webview 的文章

 

随机推荐