-
-
Save GiaoGiaoCat/fff34c063cf0cf227d65 to your computer and use it in GitHub Desktop.
// 检测浏览器的 User Agent 应该是非常简单的事情 | |
// 微信在 Android 下的 User Agent | |
mozilla/5.0 (linux; u; android 4.1.2; zh-cn; mi-one plus build/jzo54k) applewebkit/534.30 (khtml, like gecko) version/4.0 mobile safari/534.30 micromessenger/5.0.1.352 | |
// 微信在 iPhone 下的 User Agent | |
mozilla/5.0 (iphone; cpu iphone os 5_1_1 like mac os x) applewebkit/534.46 (khtml, like gecko) mobile/9b206 micromessenger/5.0 | |
// 通过javascript判断 | |
// 很容易看出来,微信的 User Agent 都有‘micromessenger’字符串标示,我们判断是否含有这些字符串就OK了 | |
function isWeixinBrowser(){ | |
var ua = navigator.userAgent.toLowerCase(); | |
return (/micromessenger/.test(ua)) ? true : false ; | |
} |
支付宝 微信都放弃wp了 我们完全没必要考虑
function isWeixinBrowser(){ return /micromessenger/i.test(navigator.userAgent); }
@yhc19850706 win phone版本没法修改userAgent,目前通过ua判断无解,不知道能不能通过微信框架里面特殊的全局变量
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.107 Safari/534.13
微信2017.3.1升级WKWebview内核。如何识别呢?
在QQ浏览器中和在微信中识别一样
window. WeixinJSBridge
window. WeixinJSBridge 是需要授权的 反击
@andypinet 请问这意思是WeixinJSBridge可用还是不可用?
window.WeixinJSBridge
想通过window.WeixinJSBridge来判断是否为微信客户端的人参考下这个:
JS API建立在客户端浏览器内置JS对象WeixinJSBridge上。然而WeixinJSBridge并不是WebView一打开就有了,客户端需要初始化这个对象,当这个对象准备好的时候,客户端会抛出事件"WeixinJSBridgeReady"。因此,在调用WeixinJSBridge相关api时,需要做好WeixinJSBridge存在与否的判断:
if (typeof WeixinJSBridge == "object" && typeof WeixinJSBridge.invoke == "function") {
callback();
} else {
if (document.addEventListener) {
document.addEventListener("WeixinJSBridgeReady", callback, false);
} else if (document.attachEvent) {
document.attachEvent("WeixinJSBridgeReady", callback);
document.attachEvent("onWeixinJSBridgeReady", callback);
}
}
//callback即为调用WeixinJSBridge的相关接口的函数
出处:
https://github.com/Tencent/weui/wiki/%E5%BE%AE%E4%BF%A1JSAPI
怎么区分桌面端还是移动端呢
楼上的朋友,还是请先看看 wp 的占有率吧。不是针对谁。