前端获取主流浏览器的信息进行判断 实现自适应内容(360浏览器)
我一般都是用谷歌浏览器进行开发,在开发大屏可视化的时候出现了浏览器不适应的问题,需要不同的浏览器进行判断,360返回 Chrome 内核, 获取的信息无法跟谷歌浏览器区别
这个是中国的主流浏览器:

比如谷歌可以正常显示:

而 360就不行 :

代码如下的逻辑:
封装
// 检测极速内核下的360浏览器
function checkChromeFor360() {var uas = navigator.userAgent.split(' '),result = false;// 排除ua自带标志的双核浏览器, 余下chrome,chromium及360浏览器if (uas[uas.length - 1].indexOf('Safari') == -1) {return result;}for (var key in navigator.plugins) {// np-mswmp.dll文件在chromium及chrome未查询到if (navigator.plugins[key].filename == 'np-mswmp.dll') {return !result;}}return result;
}
调用:
const is360Browser = checkChromeFor360();console.log(is360Browser);if (is360Browser) {console.log('360 浏览器');widthAdjustment = 30; // 360浏览器的调整值} else if (userAgent.indexOf('Edg/') > -1) {widthAdjustment = 50; // Edge的调整值console.log('Edg');} else if (userAgent.includes('Chrome') && !userAgent.includes('Edg')) {console.log('Chrome');widthAdjustment = 100; // Chrome的调整值} else if (userAgent.includes('Firefox')) {console.log('Firefox');widthAdjustment = 30; // Firefox的调整值} else if (userAgent.includes('Safari') && !userAgent.includes('Chrome')) {console.log('Safari');widthAdjustment = 40; // Safari的调整值} else if (userAgent.includes('MSIE') || userAgent.includes('Trident')) {console.log('Internet Explorer');widthAdjustment = 60; // Internet Explorer的调整值}
