PHP前端开发

百度钱包ios移动端html5网页无法自动关闭问题

百变鹏仔 2个月前 (10-19) #H5教程
文章标签 自动关闭

我们公司最近在做百度钱包的移动网页支付的一款产品,产品使用场景是当用户通过百度钱包扫描我们的产品的二维码,

进入我们的产品中,然后用户选择商品并点击购买,然后在我们系统后台生成订单并提交信息到百度钱包进行支付,当支付完

成后我们系统页面会自动的关闭。这个功能在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();          }