在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口的方法


Posted in Javascript onAugust 05, 2016

最近在使用微信、支付宝、百度钱包实现网页支付,对支付成功将自动关闭页面,对于支付失败,将显示错误信息。当在错误页面的时候,点击返回或者Android物理按键上一步的时候,将关闭页面。

在微信、支付宝、百度钱包中,他们对页面关闭进行了封装,传统的window.close()是无效的,必须要使用它们的js代码才能关闭。

下面是三种移动app的关闭方式:

WeixinJSBridge.call('closeWindow');//微信 
AlipayJSBridge.call('closeWebview'); //支付宝 
BLightApp.closeWindow();//百度钱包

通过浏览器的头判断是那种浏览器:

var ua = navigator.userAgent.toLowerCase(); 
f(ua.match(/MicroMessenger/i)=="micromessenger") { 
alert("微信客户端"); 
} else if(ua.indexOf("alipay")!=-1){ 
alert("支付宝客户端"); 
}else if(ua.indexOf("baidu")!=-1){ 
alert("百度客户端"); 
}

对返回、上一页、后退进行监听,并对history中放入当前页地址:

$(function(){ 
pushHistory(); 
window.addEventListener("popstate", function(e) { 
}, false); 
function pushHistory() { 
var state = { 
title: "title", 
url: "#" 
}; 
window.history.pushState(state, "title", "#"); 
} 
});

整个实现完整代码:

$(function(){ 
pushHistory(); 
window.addEventListener("popstate", function(e) { 
pushHistory(); 
var ua = navigator.userAgent.toLowerCase(); 
if(ua.match(/MicroMessenger/i)=="micromessenger") { 
WeixinJSBridge.call('closeWindow'); 
} else if(ua.indexOf("alipay")!=-1){ 
AlipayJSBridge.call('closeWebview'); 
}else if(ua.indexOf("baidu")!=-1){ 
BLightApp.closeWindow(); 
} 
else{ 
window.close(); 
} 
}, false); 
function pushHistory() { 
var state = { 
title: "title", 
url: "#" 
}; 
window.history.pushState(state, "title", "#"); 
} 
});

以上所述是小编给大家介绍的在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery 打造动态下滑菜单实现说明
Apr 15 Javascript
js实现简洁大方的二级下拉菜单效果代码
Sep 01 Javascript
原生javascript实现的一个简单动画效果
Mar 30 Javascript
第八篇Bootstrap下拉菜单实例代码
Jun 21 Javascript
使用jQuery调用XML实现无刷新即时聊天
Aug 07 Javascript
浅谈EasyUI常用控件的禁用方法
Nov 09 Javascript
Javascript设计模式之装饰者模式详解篇
Jan 17 Javascript
详解JS数值Number类型
Feb 07 Javascript
解决vue2 在mounted函数无法获取prop中的变量问题
Nov 15 Javascript
jQuery实时统计输入框字数及限制
Jun 24 jQuery
js实现滑动滑块验证登录
Jul 24 Javascript
解决vue动态下拉菜单 有数据未反应的问题
Aug 06 Javascript
浅谈JavaScript中的this指针和引用知识
Aug 05 #Javascript
JavaScript中的this引用(推荐)
Aug 05 #Javascript
JS实现HTML表格排序功能
Aug 05 #Javascript
JavaScript如何实现跨域请求
Aug 05 #Javascript
JavaScript数组操作函数汇总
Aug 05 #Javascript
Jquery获取当前城市的天气信息
Aug 05 #Javascript
JavaScript蒙板(model)功能的简单实现代码
Aug 04 #Javascript
You might like
php json与xml序列化/反序列化
2013/10/28 PHP
PHP生成短网址的3种方法代码实例
2014/07/08 PHP
利用php获得flv视频长度的实例代码
2017/10/26 PHP
PHP 自动加载类原理与用法实例分析
2020/04/14 PHP
discuz论坛更换域名,详细文件修改步骤
2020/12/09 PHP
Whatever:hover 无需javascript让IE支持丰富伪类
2010/06/29 Javascript
javascript温习的一些笔记 基础常用知识小结
2011/06/22 Javascript
浅谈javascript中createElement事件
2014/12/05 Javascript
node.js中的url.parse方法使用说明
2014/12/10 Javascript
谷歌浏览器调试JavaScript小技巧
2014/12/29 Javascript
jQuery仿天猫实现超炫的加入购物车
2015/05/04 Javascript
javascript生成随机数方法汇总
2015/11/12 Javascript
BootStrap表单验证 FormValidation 调整反馈图标位置的实例代码
2017/05/17 Javascript
JavaScript输入框字数实时统计更新
2017/06/17 Javascript
微信小程序实现轮播图效果
2017/09/07 Javascript
QQ跳转支付宝并自动领红包脚本(最新)
2018/06/22 Javascript
微信小程序之批量上传并压缩图片的实例代码
2018/07/05 Javascript
在JavaScript中如何访问暂未存在的嵌套对象
2019/06/18 Javascript
vue中移动端调取本地的复制的文本方式
2020/07/18 Javascript
微信小程序实现下拉加载更多商品
2020/12/29 Javascript
Python+matplotlib+numpy绘制精美的条形统计图
2018/01/02 Python
Python切片索引用法示例
2018/05/15 Python
python 每天如何定时启动爬虫任务(实现方法分享)
2018/05/21 Python
对numpy下的轴交换transpose和swapaxes的示例解读
2019/06/26 Python
Python学习笔记之While循环用法分析
2019/08/14 Python
python GUI库图形界面开发之PyQt5中QMainWindow, QWidget以及QDialog的区别和选择
2020/02/26 Python
python实现梯度法 python最速下降法
2020/03/24 Python
jupyter notebook插入本地图片的实现
2020/04/13 Python
python 进程池pool使用详解
2020/10/15 Python
大学生入党自我鉴定
2013/10/31 职场文书
自主招生自荐书
2013/11/29 职场文书
办公室文员岗位职责范本
2014/06/12 职场文书
护士2014年终工作总结
2014/11/11 职场文书
暗恋桃花源观后感
2015/06/12 职场文书
2015年挂职锻炼个人总结
2015/10/22 职场文书
《刺客之王:C罗全景传记》:时代从来不会亏待手艺人
2019/11/28 职场文书