云闪付APP内嵌H5监听左上角X关闭事件

本文介绍了在云闪付APP内嵌H5页面中,如何监听用户关闭页面(左上角X)并断开蓝牙连接。详细探讨了Page Visibility API,包括document.visibilityState、document.hidden属性以及visibilitychange事件的使用,以确保在ios和安卓设备上都能正确断开蓝牙链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在做云闪付蓝牙对接,遇到的一个问题。

需求

用户进入云闪付APP内嵌 H5页面调用接口连上蓝牙后,可能不想支付使用,或其他原因,随手关闭左上角X关闭浏览器,这时需要监听这个动作,断开蓝牙连接,不然用户手机会一直连着蓝牙设备,别的用户无法进行连接。

在这里插入图片描述

解决方法

Page Visibility API


	var hidden,state,visibilityChange;
	 if(typeof document.webkitHidden !== "undefined"){
	    	hidden='webkitHidden';
	    	state='webkitVisibilityState';
	    	visibilityChange='webkitvisibilitychange';
	    	
	    } else if(typeof document.hidden !== "undefined") {
	    	hidden='hidden';
	    	state='visibilityState';
	    	visibilityChange='visibilitychange';
	    }else if(typeof document.mozHidden !== "undefined"){
	    	hidden='mozHidden';
	    	state='mozVisibilityState';
	    	visibilityChange='mozvisibilitychange';
	    	
	    }else if(typeof document.msHidden !== "undefined"){
	    	hidden='msHidden';
	    	state='msVisibilityState';
	    	visibilityChange='msvisibilitychange';
	    	
	    }
	// 判断浏览器的支持情况 
	 if (typeof document.addEventListener === "undefined" || typeof document[hidden] === "undefined") { 
		 //alert("This demo requires a browser, such as Google Chrome or Firefox, that supports the Page Visibility API."); 
	 } else{
		 window.document.addEventListener(visibilityChange,function() {
使用tn唤起闪付app可以通过以下步骤实现: 1. 在html文件中添加以下代码,其中`urlScheme`是闪付app的scheme: ```html <a href="tnopen://app/{urlScheme}">打开闪付</a> ``` 2. 在js文件中判断是否安装了闪付app,如果已安装,则触发链接点击事件,否则提示用户下载闪付app: ```javascript function openCloudQuickPay() { var urlScheme = 'com.unionpay.cloud.quickpay'; var ua = navigator.userAgent.toLowerCase(); if(ua.match(/iphone/i) || ua.match(/ipad/i)) { // 判断是否安装闪付app if(navigator.userAgent.indexOf('UPPayQuickPay') > -1) { // 已安装闪付app,打开链接 window.location.href = 'tnopen://app/' + urlScheme; } else { // 未安装闪付app,提示用户下载app window.location.href = 'https://itunes.apple.com/cn/app/id'+app_id; } } else if(ua.match(/android/i)) { // 判断是否安装闪付app var isInstalled = false; try { isInstalled = !!window.jsbridge; } catch(e) {} if(isInstalled) { // 已安装闪付app,打开链接 window.location.href = 'tnopen://app/' + urlScheme; } else { // 未安装闪付app,提示用户下载app window.location.href = 'http://a.app.qq.com/o/simple.jsp?pkgname=' + package_name; } } } ``` 其中,`app_id`和`package_name`分别是闪付appApp Store和应用宝的应用ID。 3. 在html文件中添加链接点击事件,调用上述`openCloudQuickPay()`函数: ```html <a href="#" onclick="openCloudQuickPay()">打开闪付</a> ``` 这样就可以在H5页面中通过tn唤起闪付app了。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值