Posts List

WebView开发问题

今天来说一下我在毕业设计开发时遇到的一个问题。我开发的是一个基于Android WebView手机浏览器。网上说WebView有不少坑,在实际开发时发现确实有不少坑。我遇到的其中一个问题出现在浏览器的前进后退功能上。首先出现的情况是网页因重定向无法正常调用WebView的goBack()方法,这个在网上已有不少解答了。然而网上的解决方法在我测试的Android 4.4手机上仍会出现问题,具体表现就是goBack()方法没有任何反应。所以只能采取自定义历史栈的方法。定义一个后退栈mBrowsedHistory和一个前进栈mForwardHistory,当访问一个网页时,将网页URL添加到后退栈中。执行后退时,后退栈弹出此URL,并同时在前进栈中加入此URL。当通过点击网站上的超链接访问网页时,前进栈会被清空。因刷新、重定向等载入的网页不会加入后退栈中。