那些有趣的Webview细节

最近公司的项目"一步"上用到了webview与js交互,主要是用google地图必须要安装有google pay,但是国内的手机都去掉了, 没办法只有用google地图的网页版了, 好在公司ios的小伙伴会h5,英语也不赖, 所以我倒是没爬google的坑,专心搞下webview与js交互的问题了。

     第一个问题:地图加载不出来

          webview调用的本地js接口不一定是在主线程,我估计和html写的有关(异步), 所以如果是要在本地的接口中更新ui或者有些网络框架要在主线程中做的话请用handler发到主线程中做。

     第二个问题:地图的缩放级别对了,但是显示的不对

          检查下是不是有这句代码:webSettings.setUseWideViewPort(true); 有的话注释掉。

     第三个问题:android 4.2以上掉用不了js

           android4.2以上做了修改,本地接口要加注解@JavascriptInterface。

     第四个问题:地图只能移动一次

           有可能是在相关操作中调用了本地的方法,而本地没有实现,js中的本地接口方法中即使没有实现也不会抛异常,但是会出问题,记得检查。

     (android.4.4手机webview.loadUrl("javaScript:xxx()"),这里javascript的s是大写的也不会有问题(小米3亲测),但是小米2就出错了,网页直接报错。

 最后看到了一个webview的优化,记录下来先

 http://www.kuqin.com/shuoit/20151221/349550.html

posted @ 2016-03-17 11:12  章炎  阅读(154)  评论(0编辑  收藏  举报