关于Android WebView不支持location.href打开的解决方法 小米部分机型

遇到这个问题也纯属无奈,对于Android 【WebView】H5网页支付,的兼容性实在头疼,其实大部分机型都能正常使用,包括跳转至应用实现支付,可以偏偏有些机型就是特殊(毕竟Android开源,家家定制,家家不同),上线运行了一段时间,收到很多用户的反馈,我的机型不行,其中不乏主流的手机商的机型,比如小米mix2,小米5等等

问题:

API 26

小米 5 plus

原先的写法:

location.href = url; 

可是在应用内死活不跳转,后面没法子了,让应用打开外置默认浏览器进行网页支付,来缓解这个问题,但毕竟这样操作繁琐,严重降低了支付率。

那为什么不行呢?

研究了半天,对比了很多代码就是不行,今天看到有文章提到会对“location.href”限制,我突然想到这个问题,后面调试了下,竟然完美解决这个问题,实在惊喜!!!!

代码:

//强制转换,限制跳转方式
            function data_href(url) {
                $("#href_true").attr("href",url);//传入参数
                document.getElementById("href_true").click();//模拟点击
            }

(在H5支付页面的JS代码里加入这个方面)

然后在里面加入这个隐藏的跳转链接,用于模拟点击跳转

data_href(url);

这样操作之后就可以在应用里面测试了,完美拉起,哈哈哈

欢迎交流

你可能感兴趣的:(Android)