遇到这个问题也纯属无奈,对于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代码里加入这个方面)
<a id="href_true" style="display: none;"></a>
然后在<body>里面加入这个隐藏的跳转链接,用于模拟点击跳转
data_href(url);
这样操作之后就可以在应用里面测试了,完美拉起,哈哈哈
欢迎交流