最近在做开发的时候需要用webview呈现不同的页面,不同的协议,百度了很多种办法都有尝试,但是都没解决webview加载进度100但是没有显示页面的问题,最后在朋友的知道下发现了问题
首先说下URL
我服务器上放的让加载的URL是通过友盟添加了统计的,统计过后进行的跳转是一个第三方服务器,在第三方服务器上做了统计之后最终跳转到了目标主机,也就是说一共跳转了两次,而两次跳转的方式也不同,友盟的不太清楚,第三方服务器是通过js脚本跳转的
js脚本跳转之后页面并没有刷新,导致无法正常展示
得知了问题出在哪里就有解决方案
首先要确保页面能正常刷新,那么onpagefinished()方法就需要防止拦截不刷新
其次shouldOverrideUrlLoading()方法要保证加载的url是正确的
在一些较早的版本中需要重写shouldOverrideUrlLoading方法,在新版本中此方法已经被添加了删除线,并不推荐重写