最近在项目开发中,有一个支付页面当用户支付成功的时候需要通过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提供的功能 。接口太多也没办法一一验证,只有需要用此功能的时候才会去检测是否还能正常工作。