记录Android 版本小于19的Webview和js交互的一个坑!

                 很久没写博客了,一直加班和公司里开发人员断网的原因,想写个博客都要等下班,下班后又累得洗洗睡 了,真程序员啊。


                 最近赶一个简单的商场项目,因为赶着发布,所以app端只做一个壳,商品页先由web做,后期有时间再换原生,这个壳最

          重要部分就是webview了,需要对web页的适配支持,自然功能上与js的交互也少不了,其中有一个就是web页物理键回退的交互问

          题,如果说一般的回退,直接调用webview.goback()就足够了,因为webview自带url的记录,但是,我司web端对商品的跳转是

          基于子frame跳转的(当然这肯定是有好处的),goback()就无效了,只能是让web端提供js方法调用(目前没想到有其他原生方法)。

                webview调用js其实再简单不过了,这里就不介绍了,但是越简单的东西越容易出错,刚开始的调用js写法的写法是:

                Javascript:page.back();

                视乎没什么问题(至少一开始我是这么认为的),因为19以上的手机是能正常调用这个js,但是为了安全起见,拿了一些19以下

           系统测试,果然是出问题了,这个js加载失败,各种调试都没看出什么问题,最后拿了一个本地web来调试(上面是网络加载web再调试),

          然后再次手写调用相同的js:

         javascript:page.back();
          结果是正常了,吃惊的我赶紧把这两句js比较了下,发现首字母大写的时候,小于19的系统是无法加载的,至于小于19为何要区分大小写,

         大家可以去了解下。 

            

               

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值