我们公司最近在做百度钱包的移动网页支付的一款产品,产品使用场景是当用户通过百度钱包扫描我们的产品的二维码,
进入我们的产品中,然后用户选择商品并点击购买,然后在我们系统后台生成订单并提交信息到百度钱包进行支付,当支付完
成后我们系统页面会自动的关闭。这个功能在Android手机上面可以,但是在iOS上面无法关闭。
通过联系百度钱包的技术支持,原来在ios端需要先向document中添加runtimeready事件,当百度钱包的sdk js注入成功
后会触发runtimeready事件,这样才能执行相关的关闭窗口的动作。
下面是具体代码:
var ua = navigator.userAgent.toLowerCase(); //判断是否为ios设备,其他设备直接调用 BLightApp.closeWindow()关闭 if(ua.indexOf("apple")!=-1||ua.indexOf("mac")!=-1||ua.indexOf("iphone")!=-1) { var event = document.createEvent('Events'); event.initEvent('runtimeready', false,false); document.dispatchEvent(event); document.addEventListener("runtimeready", function(e) { BLightApp.closeWindow(); }, false); }else{ BLightApp.closeWindow(); }
以上就是 百度钱包ios移动端html5网页无法自动关闭问题的内容,更多相关内容请关注PHP中文网(www.php.cn)!