欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2022-03-23 20:33:26
我们公司最近在做百度钱包的移动网页支付的一款产品,产品使用场景是当用户通过百度钱包扫描我们的产品的二维码, 进入我们的产品中,然后用户选择商品并点击购买,然后在我们系统后台生成订...

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

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

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

 

经过在多款iphone设备当中测试,是可以关闭页面的。