JS获取操作系统的方法

该代码片段是一个JavaScript函数,用于分析`navigator.userAgent`以确定用户的操作系统类型,如Windows、Mac、Linux、iOS等,包括对Windows11的支持。
摘要由CSDN通过智能技术生成
function getOperationSystemInfo() {
    let sUserAgent = window.navigator.userAgent.toLocaleLowerCase();
    let isWin = sUserAgent.indexOf('win32') > -1 || sUserAgent.indexOf('windows') > -1;
    let isMac = sUserAgent.indexOf('mac68k') > -1 || sUserAgent.indexOf('macppc') > -1 || sUserAgent.indexOf('macintosh') > -1 || sUserAgent.indexOf('macintel') > -1;
    if (isMac) return 'Mac';
    if (sUserAgent.indexOf('x11') > -1 && !isWin && !isMac) return 'Unix';
    if (sUserAgent.indexOf('linux') > -1) return 'Linux';
    if (isWin) {
        if (sUserAgent.indexOf('windows nt 5.0') > -1 || sUserAgent.indexOf('windows 2000') > -1) return 'Win2000';
        if (sUserAgent.indexOf('windows nt 5.1') > -1 || sUserAgent.indexOf('windows xp') > -1) return 'WinXP';
        if (sUserAgent.indexOf('windows nt 5.2') > -1 || sUserAgent.indexOf('windows 2003') > -1) return 'Win2003';
        if (sUserAgent.indexOf('windows nt 6.0') > -1 || sUserAgent.indexOf('windows vista') > -1) return 'WinVista';
        if (sUserAgent.indexOf('windows nt 6.1') > -1 || sUserAgent.indexOf('windows 7') > -1) return 'Win7';
        if (sUserAgent.indexOf('windows nt 10.0') > -1 || sUserAgent.indexOf('windows 10') > -1) return 'Win10';
    }
    if (sUserAgent.indexOf('android') > -1) return 'Android';
    if (sUserAgent.indexOf('iphone') > -1) return 'iPhone';
    if (sUserAgent.indexOf('symbianos') > -1) return 'SymbianOS';
    if (sUserAgent.indexOf('windows phone') > -1) return 'Windows Phone';
    if (sUserAgent.indexOf('ipad') > -1) return 'iPad';
    if (sUserAgent.indexOf('ipod') > -1) return 'iPod';
    return 'others';
}

值得注意的是,在window11操作系统下 window.navigator.userAgent 返回的也是10的版本

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
获取操作系统和浏览器信息,可以使用`navigator.userAgent`属性。它返回当前浏览器的用户代理信息,可以通过正则表达式进行匹配,从而得到所需信息。以下是一个示例: ```javascript const ua = navigator.userAgent.toLowerCase(); // 获取操作系统信息 let osInfo = ''; if (ua.indexOf('windows') > -1) { osInfo = 'Windows'; } else if (ua.indexOf('mac os x') > -1) { osInfo = 'Mac OS X'; } else if (ua.indexOf('linux') > -1) { osInfo = 'Linux'; } else if (ua.indexOf('android') > -1) { osInfo = 'Android'; } else if (ua.indexOf('iphone') > -1) { osInfo = 'iPhone'; } else { osInfo = 'Unknown'; } // 获取浏览器信息 let browserInfo = ''; if (ua.indexOf('edge') > -1) { browserInfo = 'Microsoft Edge'; } else if (ua.indexOf('msie') > -1 || ua.indexOf('trident') > -1) { browserInfo = 'Internet Explorer'; } else if (ua.indexOf('firefox') > -1) { browserInfo = 'Firefox'; } else if (ua.indexOf('safari') > -1 && ua.indexOf('chrome') === -1) { browserInfo = 'Safari'; } else if (ua.indexOf('chrome') > -1) { browserInfo = 'Google Chrome'; } else { browserInfo = 'Unknown'; } console.log('操作系统:', osInfo); console.log('浏览器:', browserInfo); ``` 在上述示例中,我们首先通过`navigator.userAgent`获取当前浏览器的用户代理信息,然后使用正则表达式进行匹配,从而得到操作系统和浏览器信息。需要注意的是,由于用户代理信息可以被伪造,因此该方法可能存在一定的不准确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿小野

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值