js关闭微信浏览器页面

在关闭微信某个H5网页时,window.close() 有时候并不好使
 
【解决方案】:
//这个可以关闭安卓系统的手机
document.addEventListener('WeixinJSBridgeReady', function(){ WeixinJSBridge.call('closeWindow'); }, false);
 
//这个可以关闭ios系统的手机
WeixinJSBridge.call('closeWindow');
 
 
---------------------------
 

最近在项目开发中,有一个支付页面当用户支付成功的时候需要通过js主动关闭这个页面。这个在其他浏览器比较好实现直接用window对象中的api就可以

如何通过js关闭微信浏览器页面 最近在项目开发中,有一个支付页面当用户支付成功的时候需要通过js主动关闭这个页面。这个在其他浏览器比较好实现直接用window对象中的api就可以。具体的代码:

window.opener = null;

window.close();
使用以上方式,要保证你的浏览器没有把window对象给拦截了。

那微信内置的浏览器用不了window对象。以上方式肯定歇菜。不过微信提供了 WeixinJSBridge 对象。

用这个对象关闭当前页面:

WeixinJSBridge.call('closeWindow');
微信浏览器页面的还有一种关闭方式:

wx.closeWindow();
使用这个方式的前提必需要引入微信的js-sdk才行。能成功用这个js-sdk必需要去微信认证才行。用这种方式就是微信公众开发的页面可能会比较适用。如果你是通过微信浏览器扫码进入的第三方页面那么最好的方式用WeixinJSBridge对象。

WeixinJSBridge对象还提供了哪些功能:

WeixinJSBridge.call('hideToolbar'); //隐藏右下面工具栏

WeixinJSBridge.call('showToolbar'); //显示右下面工具栏

WeixinJSBridge.call('hideOptionMenu'); //隐藏右上角三个点按钮。

WeixinJSBridge.call('showOptionMenu'); //显示右上角三个点按钮。
WeixinJSBridge.invoke 还提供一些高级功能功能,比如分享等。不过这些功能在微信升级的过程中有没有被阉割,有带检验。这里先提供解决问题的一种方法, 微信浏览器使用中别忘了还有WeixinJSBridge提供的功能 。接口太多也没办法一一验证,只有需要用此功能的时候才会去检测是否还能正常工作。

 

引用自:

关闭微信浏览器网页 - 牧羊狼 - 博客园 (cnblogs.com)

js关闭微信浏览器页面 - 走看看 (zoukankan.com)

posted @ 2022-08-31 18:40  郑延杰  阅读(2346)  评论(0编辑  收藏  举报