必威体育Betway必威体育官网
当前位置:首页 > IT技术

navigator.userAgent获取浏览器信息(类型及系统)

时间:2019-08-09 19:44:20来源:IT技术作者:seo实验室小编阅读:67次「手机版」
 

navigator.useragent

浏览器对于我们来说,可能是最熟悉的工具了。熟知的浏览器Firefox、Opera、Safari、IE、Chrome以外,据说世界上还有近百种浏览器。通常在开发的时候要做到兼容各种浏览器,因此提炼出判断浏览器类型及系统是很重要的。

先来看看什么是User-Agent?User-Agent是HTTP请求中的用户标识,一般发送一个能够代表客户端类型的字符串,比如浏览器类型 操作系统等信息。User-Agent 的约定格式是:应用名,跟一个斜线,跟版本号,剩下的是自由的格式。

此处我只实例展示几个浏览器

Chrome

iPhone的safari

IE

接下来封装了获取浏览类型与系统的函数,之后在需要的地方进行调用即可

// 各主流浏览器
function getBrowser() {
    var u = navigator.useragent;

    var bws = [{
        name: 'sgssAPP',
        it: /sogousearch/i.test(u)
    }, {
        name: 'wechat',
        it: /Micromessenger/i.test(u)
    }, {
        name: 'weibo',
        it: !!u.match(/Weibo/i)
    }, {
        name: 'uc',
        it: !!u.match(/UCBrowser/i) || u.indexof(' UBrowser') > -1
    }, {
        name: 'sogou',
        it: u.indexOf('MetaSr') > -1 || u.indexOf('Sogou') > -1
    }, {
        name: 'xiaomi',
        it: u.indexOf('MiuiBrowser') > -1
    }, {
        name: 'baidu',
        it: u.indexOf('Baidu') > -1 || u.indexOf('BIDUBrowser') > -1
    }, {
        name: '360',
        it: u.indexOf('360EE') > -1 || u.indexOf('360SE') > -1
    }, {
        name: '2345',
        it: u.indexOf('2345Explorer') > -1
    }, {
        name: 'edge',
        it: u.indexOf('Edge') > -1
    }, {
        name: 'ie11',
        it: u.indexOf('Trident') > -1 && u.indexOf('rv:11.0') > -1
    }, {
        name: 'ie',
        it: u.indexOf('compatible') > -1 && u.indexOf('MSIE') > -1
    }, {
        name: 'firefox',
        it: u.indexOf('Firefox') > -1
    }, {
        name: 'safari',
        it: u.indexOf('Safari') > -1 && u.indexOf('Chrome') === -1
    }, {
        name: 'qqbrowser',
        it: u.indexOf('MQQBrowser') > -1 && u.indexOf(' QQ') === -1
    }, {
        name: 'qq',
        it: u.indexOf('QQ') > -1
    }, {
        name: 'chrome',
        it: u.indexOf('Chrome') > -1 || u.indexOf('CriOS') > -1
    }, {
        name: 'opera',
        it: u.indexOf('Opera') > -1 || u.indexOf('OPR') > -1
    }];

    for (var i = 0; i < bws.length; i++) {
        if (bws[i].it) {
            return bws[i].name;
        }
    }

    return 'other';
}

// 系统区分
function getOS() {
    var u = navigator.userAgent;
    if (!!u.match(/compatible/i) || u.match(/windows/i)) {
        return 'windows';
    } else if (!!u.match(/Macintosh/i) || u.match(/MacIntel/i)) {
        return 'macOS';
    } else if (!!u.match(/iphone/i) || u.match(/Ipad/i)) {
        return 'ios';
    } else if (!!u.match(/Android/i)) {
        return 'android';
    } else {
        return 'other';
    }
}

相关阅读

如何设置浏览器默认下载 取消浏览器默认迅雷下载的方

通常我们电脑上一安装了迅雷之后,以后在网上下载东西都会默认弹出使用迅雷下载。尽管迅雷下载东西,速度很快,但又的时候我们会发现,经

浏览器兼容性测试工具

相关连接:【浏览器兼容性概述】 目录 一、浏览器兼容性测试工具 1.0、IETester【免费·exe】 1.1、SuperPreview【收费·exe】 1.2

Chrome谷歌浏览器主页总被篡改怎么解决?

对于一款浏览器,在打开它时的主页是很多公司想要占领的一块阵地。因为有了这个优势,可以获得更多的好处。对于使用 Chrome 浏览器的

Android手机如何获取唯一标识(手机串号)

有很多场景和需求你需要用到手机设备的唯一标识符。在Android中,有以下几种方法获取这样的ID。1. The IMEI: 仅仅只对Android手机

Oracle instr()函数获取数据字段已知字符串的位置

需求 我们现在需要获取的数据库字段的部分值,而不是需要拿到的整个字段 例如 我们现在取到以下数据字段 但是我们只需要字段的前

分享到:

栏目导航

推荐阅读

热门阅读