总结一下近期SmartPhone Web项目遇到的问题,主要是开发在Android手机(webview)上访问的web页面。
①CSS,JS文件修改后加载无效
网页代码里加载的CSS或JS文件(非html中内嵌代码),修改之后,需要清掉app的缓存。因为app内的webview访问网页后,会缓存CSS,JS文件,再次访问此页面读取的是缓存文件。
②软键盘右下角的回车键显示为“搜索”
一般在input标签内,加入属性“type=search”即可。实际操作中发现有的机器还是不识别,可以在input标签外包一层<form>标签。
③webview里window.history.go(-1)不起作用
webview载入网页,一般情况下js的window.history.go(-1)能够起作用控制网页回退。不过,诡异的是这个根据不同机器还有不同的情况...
问题发生在三星Galaxy s(I9100),window.history.go(-1)毫无反映。
解决方法:重写WebViewClient的onFormResubmission方法--
@override
public void onFormResubmission(WebView view, Message dontResend, Message resend)
{
resend.sendToTarget();
}
debug发现,对window.history.go(-1)有反映的手机,点手机返回键(前提:代码实装了back键调用webview的goback方法),不会响应onFormResubmission方法,而出现问题的I9100会调用此方法。所以,重写此方法,让画面调用返回方法时,数据重新发送一下,问题解决。