微信公众号调用外部浏览器打开指定URL链接是如何实现的
2024-08-22 10:38:06
在涉及移动端支付的项目时,由于对支付需求的精细化,不仅需要扫码支付,还有唤醒App支付,另外还有在微信、QQ、支付宝内置浏览器给出相应的提示。
好在国内各大巨头公司在开发浏览器的时候都在浏览器标识上加了相应的字符,下面直接贴代码:
function is_neizhi() {
var ua = navigator.userAgent.toLowerCase();
if (ua.match(/MicroMessenger/i) == "micromessenger") {
return "weixin";
} else if (ua.match(/QQ/i) == "qq") {
return "QQ";
} else if (ua.match(/Alipay/i) == "alipay" && payway == 2) {
return "alipay";
}
return false;
}
由此可以判断是否是App内置浏览器或者更加精细到某App内置浏览器。但是略坑的是:微信支付不管是在QQ、微信还是支付宝内置浏览器里面都不能被唤醒;支付宝支付可以在支付宝内置浏览器唤醒,其余则不能。
在外部浏览器打开是用jquery遮罩层方式写的,下面直接贴代码:
var isNeizhi = is_neizhi(); //调用上面js判断
var winHeight = typeof window.innerHeight != 'undefined' ? window.innerHeight : document.documentElement.clientHeight; //网页可视区高度
var weixinTip = $('<div id="weixinTip"><p><img src="live_weixin.png" alt="微信打开"/></p></div>');
if(isNeizhi){
$("body").append(weixinTip);
}
$("#weixinTip").css({
"position": "fixed",
"left": "0",
"top": "0",
"height": winHeight,
"width": "100%",
"z-index": "1000",
"background-color": "rgba(0,0,0,0.8)",
"filter": "alpha(opacity=80)",
});
$("#weixinTip p").css({
"text-align": "center",
"margin-top": "10%",
"padding-left": "5%",
"padding-right": "5%"
});
$("#weixinTip p img").css({
"max-width": "100%",
"height": "auto"
});
最新文章
- WebView---Android与js交互实例
- 不同版本vpb与osg对应关系
- RedHad中yum安装与使用
- 【Xamarin挖墙脚系列:配置Mac之间的连接问题】
- 使用ChineseLunisolarCalendar 对象由年份获得生肖名,Datetime.now.tostring获得星期几
- 从sockaddr中取得Ip地址和端口号
- [翻译] C++ STL容器参考手册(第一章 <;array>;)
- Android的Activity切换动画特效库SwitchLayout,视图切换动画库,媲美IOS
- [vc]如何对radio按钮分组
- GitExtensions-2.48安装详细教程
- html、js、django处理日期问题
- Redis~Linux环境下的部署
- JAVA的运算符和条件结构
- (贪心 模拟?) codeVs1098 均分纸牌
- 8月10日CSS总结
- verilog实现中值滤波
- P1096(简单dp)
- Python实例---beautifulsoup小Demo
- 我与GitHub的第一次——自制音乐文件修改器
- python_循环(迭代)