我们开发h5的时候经常会遇到各种奇怪的需求,但是很多的时候要判断根据不同浏览实现不同的需求,所以这时我们要针对当前打开的浏览器的环境实现不同的功能,所以今天我们来封装一下判断一下特殊浏览器的方法。
封装方法
function detectBrowserInfo() {
const userAgent = navigator.userAgent.toLowerCase();
// 判断是否为微信浏览器
const isWechat = /micromessenger/i.test(userAgent);
// 判断是否为企业微信(即微信工作版)
const isWechatWork = /wxwork/i.test(userAgent);
// 判断是否为钉钉内置浏览器
const isDingTalk = /dingtalk/i.test(userAgent);
// 飞书内置浏览器可能包含 "lark" 关键字,但请核实最新版本 UA 以确保准确性
const isFeishu = /lark/i.test(userAgent);
return {
isWechat,
isWechatWork,
isDingTalk,
isFeishu
};
}
使用方法
const browserInfo = detectBrowserInfo();
if (browserInfo.isWechat) {
console.log('当前环境是微信内置浏览器');
} else if (browserInfo.isWechatWork) {
console.log('当前环境是企业微信内置浏览器');
} else if (browserInfo.isDingTalk) {
console.log('当前环境是钉钉内置浏览器');
} else if (browserInfo.isFeishu) {
console.log('当前环境可能是飞书内置浏览器');
} else {
console.log('当前环境不是以上提及的内置浏览器');
}