今天突然想到一個聚合二維碼,微信和支付寶不同客戶端掃能拉起不同的支付頁面/或效果.看到網上基本上都是使用判斷user-agent進行判斷,可以使用前端/後端進行判斷.
1.下面是前端JS僞代碼示例:
//頁面加載執行代碼段
window.onload = function(){
var ua = window.navigator.userAgent;
if ( ua.indexOf('MicroMessenger') != -1 ) {
alert('wechatClient');
} else if (ua.indexOf('AlipayClient') != -1) {
alert('aliClient');
} else {
alert('other');
alert(ua);
}
}
2. 使用後端Java的僞代碼示例:
@RequestMapping(value="getUserAgent")
@ResponseBody
public String getUserAgent(HttpServletRequest request){
//獲取header中的屬性
String userAgent = request.getHeader("user-agent");
if (userAgent != null && userAgent.contains("AlipayClient")) {
return "AliPay";
}else if (userAgent != null && userAgent.contains("MicroMessenger")) {
return "WeChat";
}else{
return "Other";
}
}
--------摸着石頭過河的我,還在路上