webview 2.3.x系统时shouldOverrideUrlLoading不起作用

总算问题解决差不多了,把所有测试机装上试试,结果在2.3.x的手机上有些地方完全无效,查看下,都是shouldOverrideUrlLoading这个里面的,崩溃啊。。。
立马找解决方法,为什么都找不到,好烦啊,无意间就看到一个说 android 2.3.x webview中的两个搞笑的bug(这个百度就有,想具体看的话就自己搜下咯),也只有这个了,就进去看了下,原来js的几种写法会引起shouldOverrideUrlLoading无效啊,贴出来供大家看哦,也好注意可千万别弄成这样。。。。
以下这个url打开的动作,自定义的webview截获不了:
    a. js中setTime之后,自定义的webview截获不了
    b. Ajax中,作为callback处理,给location.href赋值
    c. form提交中的url迁移

我这里的也是这几种情况中的一种吗?不知道啊不知道。。。问了也不清楚,算了,再找找,看看会不会有解决的方法。。。
还真让我找到一个,参考网址: http://tanghaibo001.blog.163.com/blog/static/9068612020121023113646644/  
具体的都有说明了。反正就是在2.3.x系统下的如果是通过js跳转的,那么就最好把shouldOverrideUrlLoading 中的逻辑写到 onPageStarted 方法中去处理,因为在ApiLevel小于11的情况下,webview的shouldOverrideurlLoading并不是每次都会调用。
但是不清楚怎么写啊要,因为我这逻辑判断很多,一写,不是这出问题就是那出问题,最后总算是一点点的写出来了。。。。

注意:
如果在onPageStarted里写的话,最好不要出现view.loadUrl(url);因为如果有这个,页面会一直在这里跳动,至少我都注释掉也没发现报错。。。
还有就是如果里面逻辑判断很多,那么一定要想好该怎么放怎么写,并不是shouldOverrideUrlLoading 里怎么写 onPageStarted  里面就必须写的。。。。。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值