Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
4.8k views
in Technique[技术] by (71.8m points)

移动端微信公众号关闭一个h5页面,window.close()方法失效

移动端微信公众号打开一个h5页面a,
在页面a通过window.open()方法打开页面b,
在b页面调用window.close()方法想关闭页面b,回到页面a,可是页面b关不掉。
请问应该怎么操作?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

手机端关闭H5页面所有方法如下。

var isLppzApp = false
var ua = navigator.userAgent.toLowerCase()
var uaApp = ua ? ua.match(/BeStore/i) : '' // match方法返回的是对象
var uaAndroid = /android/i.test(ua) // test返回的是true/false
var uaIos = /iphone|ipad|ipod/i.test(ua)
if (uaApp.toString() === 'bestore') { // 必须将match返回的对象转成字符串
isLppzApp = true
} else {
isLppzApp = false
}
if (window.WeixinJSBridge) {
window.WeixinJSBridge.call('closeWindow') // 微信,只是微信就用这个API。
} else if (window.AlipayJSBridge) {
window.AlipayJSBridge.call('closeWebview') // 支付宝
} else if (isLppzApp && uaAndroid) {
window.obj.closePageLppzRequest('') // 安卓app
} else if (isLppzApp && uaIos) {
window.webkit.messageHandlers.closePageLppzRequest.postMessage('') //ios app
}

window.WeixinJSBridge.call('closeWindow') // 只是微信就用这个API。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
...