首页 > 其他分享 >js获取当前的操作系统

js获取当前的操作系统

时间:2024-04-25 09:45:24浏览次数:22  
标签:return 操作系统 indexOf sUserAgent js 获取 Windows var navigator

在JavaScript中,没有直接的方式来获取操作系统的信息,因为出于安全考虑,浏览器不允许访问这些信息。但是,你可以通过用户代理字符串(User-Agent string)来间接地推断操作系统信息。

以下是一个简单的JavaScript函数,用于解析用户代理字符串以推断操作系统:

//获取操作系统类型
        function browserRedirect() {
            var sUserAgent = navigator.userAgent;
            var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows");
            var isMac = (navigator.platform == "Mac68K") || (navigator.platform == "MacPPC") || (navigator.platform == "Macintosh") || (navigator.platform == "MacIntel");
            if (isMac) return "Mac";
            var isUnix = (navigator.platform == "X11") && !isWin && !isMac;
            if (isUnix) return "Unix";
            var isLinux = (String(navigator.platform).indexOf("Linux") > -1);
            if (isLinux) return "Linux";
            if (isWin) {
                var isWin2K = sUserAgent.indexOf("Windows NT 5.0") > -1 || sUserAgent.indexOf("Windows 2000") > -1;
                if (isWin2K) return "Win2000";
                var isWinXP = sUserAgent.indexOf("Windows NT 5.1") > -1 || sUserAgent.indexOf("Windows XP") > -1;
                if (isWinXP) return "WinXP";
                var isWin2003 = sUserAgent.indexOf("Windows NT 5.2") > -1 || sUserAgent.indexOf("Windows 2003") > -1;
                if (isWin2003) return "Win2003";
                var isWinVista = sUserAgent.indexOf("Windows NT 6.0") > -1 || sUserAgent.indexOf("Windows Vista") > -1;
                if (isWinVista) return "WinVista";
                var isWin7 = sUserAgent.indexOf("Windows NT 6.1") > -1 || sUserAgent.indexOf("Windows 7") > -1;
                if (isWin7) return "Win7";
                var isWin10 = sUserAgent.indexOf("Windows NT 10") > -1 || sUserAgent.indexOf("Windows 10") > -1;
                if (isWin10) return "Win10";
            }
            return "other";
        }
        window.onload = function () {
            alert(browserRedirect());
        };

 

标签:return,操作系统,indexOf,sUserAgent,js,获取,Windows,var,navigator
From: https://www.cnblogs.com/sky6699/p/18156915

相关文章

  • WPF 通过 GetMessageExtraInfo 方法获取当前收到的鼠标消息是否由触摸转换过来
    本文将告诉大家如何在WPF或者其他Win32应用里面,在收到鼠标消息时,通过GetMessageExtraInfo方法获取当前收到的鼠标消息是否由触摸消息提升而来大家都知道,在不开启WM_Pointer的情况下,无论是走WM_Touch或者是RealTimeStylus等方式,默认下触摸都会提升为鼠标消息从而更好......
  • MoUsoCoreWorker.exe 是 Windows 操作系统中的一个进程,它属于 Microsoft Update Stack
    MoUsoCoreWorker.exe是Windows操作系统中的一个进程,它属于MicrosoftUpdateStack的一部分,用于处理Windows更新和维护任务。具体来说,MoUsoCoreWorker.exe是WindowsUpdate的核心工作程序,负责检查、下载和安装操作系统和应用程序的更新。这个进程通常位于Windows......
  • 多线程如何和连接池交互获取数据?
    在多线程环境中使用连接池来获取数据库连接时,每个线程都可以从池中请求一个连接,然后使用这个连接来执行数据库操作。由于连接池会管理连接的创建和回收,因此它可以有效地减少数据库连接的创建和关闭次数,从而提高性能。以下是一个简单的例子,展示了如何在多线程环境中使用连接池来获......
  • Python基础-模块和包(hashlib、random、json、time、datetime和os模块)
    什么是模块和包?模块:python中的.py文件,将一些功能按照某一种维度进行划分;自定义、内置。、第三方.包:文件夹里面好多个.py文件。在讨论的时候,一般统称为:模块。学习:自定义模块和包+使用内置模块+使用第三方模块+使用1自定义模块和包1.1快速上手-项目文件夹(......
  • RuntimeBroker.exe 是 Windows 操作系统中的一个系统进程,它负责管理 Metro 应用程序(现
    RuntimeBroker.exe是Windows操作系统中的一个系统进程,它负责管理Metro应用程序(现在称为UniversalWindowsPlatform应用程序)的权限和沙盒环境。该进程通常在用户登录后启动,并且对于每个用户会话都会有一个实例在运行。具体来说,RuntimeBroker主要有以下作用:权限管......
  • 注册表(Registry)是Windows操作系统中用来存储配置信息和系统设置的一个关键组成部分。
    注册表(Registry)是Windows操作系统中用来存储配置信息和系统设置的一个关键组成部分。它类似于一个数据库,用来存储有关用户、硬件、软件和其他系统设置的信息。注册表包含了操作系统及其安装的应用程序所需的许多配置信息。注册表包含了多个部分,其中一些最重要的部分包括:HK......
  • dcomlaunch 是 Windows 操作系统中的一个服务进程,负责启动和管理分布式组件对象模型(DC
    dcomlaunch是Windows操作系统中的一个服务进程,负责启动和管理分布式组件对象模型(DCOM)应用程序。DCOM是一种微软的远程过程调用(RPC)技术,允许运行在不同计算机上的软件组件相互通信和交互。具体来说,dcomlaunch服务进程的作用包括:启动和管理DCOM服务:dcomlaunch负责启动......
  • ShellExperienceHost.exe 是 Windows 10 操作系统中的一个系统进程,它负责管理和运行一
    ShellExperienceHost.exe是Windows10操作系统中的一个系统进程,它负责管理和运行一些用户界面相关的功能和效果。具体来说,ShellExperienceHost主要有以下作用:启动菜单和任务栏:ShellExperienceHost负责启动、管理和渲染开始菜单、任务栏以及相关的用户界面元素。窗......
  • idea启动jsp项目
    idea启动jsp项目1、idea打开jsp项目:2、项目配置:3、项目启动~~~~~~~~~~~~~~~~~~~~~over~~~~~~~~~~~~~~~~   ......
  • js逆向实战之莫莫铺子sign参数解密
    url:http://mmpz.ttzhuijuba.com/?r=/l&cids=1&site=classify&sort=0分析过程抓取流量包。主要关注图中框起来这条流量包,因为这条流量包返回的是当前页面数据。该流量包的url地址有个加密的参数sign,目的就是找到sign参数的加密过程。按照常规思路会去搜索url中的关键......