根据 UserAgent 判断网页是在浏览器、或在微信、或在APP中


根据 UserAgent 是否存在 Android,或 iPhone 可以判断网页是运行在 苹果手机 或 微信手机中。具体是安卓的在 微信中、还是在浏览器中、还是在APP中,在iPhone的 微信中、还是在浏览器中、还是在WebApp中,都可以通过UserAgent来判断。

前端JS 获取 UserAgent 可以使用:navigator.userAgent。
后端程序可以使用 HTTP_USER_AGENT 来获取。比如PHP可以用 $_SERVER[‘HTTP_USER_AGENT’],asp可以用 Server.Servervariables(‘HTTP_USER_AGENT’) 。

安卓手机

APP/WebView

1
Mozilla/5.0 (Linux; Android 6.0.1; MX4 Build/MOB30M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/51.0.2704.106 Mobile Safari/537.36

微信

1
Mozilla/5.0 (Linux; Android 6.0.1; MX4 Build/MOB30M) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile MQQBrowser/6.8 TBS/036849 Safari/537.36 MicroMessenger/6.3.27.880 NetType/WIFI Language/zh_CN

浏览器

1
Mozilla/5.0 (Linux; Android 6.0.1; MX4 Build/MOB30M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.154 Mobile Safari/537.36

存在 Version,是App(微信或APP)内部的WebView
微信存在 MicroMessenger/ NetType/ Language/
不存在则为其他APP
其他模式为浏览器

苹果手机

webapp

1
Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_2 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Mobile/14A456

微信/WebView

1
Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_2 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Mobile/14A456 MicroMessenger/6.3.27 NetType/WIFI Language/zh_CN

浏览器

1
Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_2 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/14A456 Safari/602.1

微信存在 MicroMessenger/ NetType/ Language/
手机浏览器存在 Version/XX.XX Mobile/XX.XX
啥都不存在是WebApp,还有个 window.navigator.standalone 判断

在前端开发,我们可以使用JavaScript来判断网页是在微信下还是在App下。具体的判断可以通过检测User Agent来实现。 User Agent是浏览器在向服务器发送请求时携带的一个标识,包含了关于浏览器、操作系统、设备等信息。微信AppUser Agent有一些差别,我们可以通过检测User Agent的关键字来判断。 如果网页是在微信下打开,通常User Agent会包含类似于"WeChat"或"MicroMessenger"的关键字。我们可以使用JavaScript的`navigator.userAgent`获取当前浏览器User Agent,并使用正则表达式进行匹配,判断是否包含这些微信特有的关键字。 如果网页是在App下打开,通常User Agent会包含特定的App标识,例如iOS的User Agent可能包含"iPhone"或"iPad",Android的User Agent可能包含"Android"等。我们可以使用正则表达式对User Agent进行匹配,判断是否包含这些特定的关键字。 下面是一个简单的示例代码: ```javascript // 获取当前浏览器User Agent var userAgent = navigator.userAgent; // 判断是否在微信下 if (/MicroMessenger|WeChat/.test(userAgent)) { console.log("在微信下打开"); } // 判断是否在App下 if (/iPhone|iPad/.test(userAgent)) { console.log("在iOS App下打开"); } else if (/Android/.test(userAgent)) { console.log("在Android App下打开"); } ``` 上述代码会打印出当前网页是在微信下还是在App下打开。你也可以根据实际情况进行相应的操作,例如显示不同的内容、调用不同的API等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值