文章目录
(两种方法)教你:“如何判断网页是不是在微信端内置浏览器打开?”
本文根据项目开发实际情况,着重探讨在微信内置浏览器中调用支付功能,遇到的几个坑!
目的:
- 提醒用户注意付款方式!
- 鉴于区别和选用支付方式!
在做微信公众号支付
、```微信H5支付``的时候,会遇到一个相对有悖的问题。
下面简单说一下
处理流程与思路
:
- 判断设备端是否来自微信内置浏览器?
- 根据微信支付的两种不同情况(公众号支付、H5支付),分别切换超链接代码的显示与隐藏,从而达到支付流程的正常通行。
下面就看一下具体的代码。
(方法一)全部HTML代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
.link{display: none;}
.show{display: block;}
</style>
</head>
<body>
<a href="" class="link a2 show">不是微信端</a>
<a href="" class="link a1">微信端</a>
<script src="http://class.hflihe.com/orderos/js/jquery-3.1.0.min.js"></script>
<script>
function isWeiXin() {
var ua = window.navigator.userAgent.toLowerCase();
console.log(ua);//mozilla/5.0 (iphone; cpu iphone os 9_1 like mac os x) applewebkit/601.1.46 (khtml, like gecko)version/9.0 mobile/13b143 safari/601.1
if (ua.match(/MicroMessenger/i) == 'micromessenger') {
return true;
}
else {
return false;
}
}
if(isWeiXin()){
console.log(" 是来自微信内置浏览器");
$(".a1").addClass("show");
$(".a2").removeClass("show");
}
else{
console.log("不是来自微信内置浏览器");
$(".a2").addClass("show");
$(".a1").removeClass("show");
}
</script>
</body>
</html>
- 通过上述的javascript的判断,就可以很快的解决这个问题,进而为用户的支付提供合理可行的按钮通道,从而解决支付中出现的繁琐问题。
注意:
- 通常情况下,将会以一个
跳转页面
的形式,让用户绕行
微信内置浏览器的H5支付,并且在跳转页面中提示用户,选择公众号支付
!- 这只是个权宜之计,只能说微信的支付或多或少还是有点坑的,我们都是埋坑群众。那里有坑,哪里就有我们。
(方法二)代码示下:
//判断是微信端还是非微信端 浏览器
function browerType() {
if (navigator.userAgent.indexOf("MicroMessenger") != -1) {
brower_weixin();//是微信端浏览器
} else {
brower_other();//是其他浏览器(非微信端浏览器)
}
}
本文,仅视作为博主项目随行经验参考,其余具体情况本文不具体分析,请自行分析。
以上就是关于“判断网页是否为微信内置浏览器打开?”的全部内容。