admin管理员组文章数量:1580460
方法可能不是最优解,只是自己随便搞的
我处理逻辑是匹配 这样的
根据这种值去匹配是哪一个浏览器
// 浏览器标识通过数组返回
const getUserAgent = () => {
const { userAgent } = navigator;
let left = 0;
const arr = [];
for (let i = 0; i < userAgent.length; i++) {
if (userAgent[i] === ' ') {
left = i;
} else if (userAgent[i] === '/' && left) {
arr.push(userAgent.slice(left + 1, i));
}
}
// 搜狗浏览器格式特殊
if (userAgent.includes('MetaSr')) {
arr.push('MetaSr');
}
return arr.slice(1);
};
export const broswerIdMap = {
QQ浏览器: ['Chrome', 'Safari', 'Core', 'QQBrowser'],
Chrome浏览器: ['Chrome', 'Safari'],
Edge浏览器: ['Chrome', 'Safari', 'Edg'],
搜狗浏览器: ['Chrome', 'Safari', 'MetaSr'],
Safari浏览器: ['Version', 'Safari'],
Firefox浏览器: ['Gecko', 'Firefox'],
'2345浏览器': ['Chrome', 'Safari', '2345Explorer'],
};
// 获取当前登录浏览器
export const getCurBroswer = () => {
let broswer = null;
console.log('window', window);
const broswerList = Object.keys(broswerIdMap);
const curAgent = getUserAgent();
for (let i = 0; i < broswerList.length; i++) {
if (curAgent.toString() === broswerIdMap[broswerList[i]].toString()) {
broswer = broswerList[i];
return broswer;
}
}
return '其他浏览器';
};
使用的时候直接调用这个 getCurBroswer 就行,就能获取到当前是什么浏览器
包含了我认知的主流浏览器
如果你问我为什么没有猎豹浏览器和360的话。。。我根本没法通过userAgent去分辨他们和chorme的区别!!!
版权声明:本文标题:js获取当前是什么浏览器 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1727866223a1134478.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论