最近在做云闪付蓝牙对接,遇到的一个问题。
需求
用户进入云闪付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() {