比较坑猿的一个问题,IOS没问题,安卓却不行,以为webview自己没用对,最终却发现,服务器端是通过window.location.href来重定向的,安卓不会触发shouldOverrideUrlLoading。
项目中要用到原生和JS交互,没有用注册原生方法让JS调用,是通过重定向方式来实现交互的,JS在原地址后面加#后面是方法名,然后监听页面重定向,哪到地址,判断标记,并处理。结果IOS端完成没任何问题,而Android端就是不触发shouldOverrideUrlLoading,最后发现服务器是通过window.location.href = ‘#goPay’ 开重定向的,而这种方式是不会触发Android端的shouldOverrideUrlLoading。如果要用重定向方式实现交互,最好用herf = "http://#goPay"方式代替window.location.href方式。