js如何判断用户使用的设备类型及平台

html5 判断是什么设备 我们会用到html5 判断当前是什么设备 移动的环视pc 的下面代码可以判断 <script type="text/javascript"> $(function(){ var system = { win: false, mac: false, xll: false, ipad:false }; //检测平台 var p = navigator.platf 阅读详情

部分原文链接:https://www.cnblogs.com/coober/p/6594379.html

前端开发者手册:https://dwqs.gitbooks.io/frontenddevhandbook/content/

本文章为部分转载文章。

前端开发经常遇到需要判断用户的浏览设备,是pc端还是移动端,移动端使用的是什么手机系统?android、ios、ipad、windows phone等等,有时候还需要知道用户浏览页面是在微信中打开还是在移动端浏览器中打开,等等一系列判断做一些相应的处理。

1、首先判断pc端还是移动端。


 1     function IsPC() {
 2         var userAgentInfo = navigator.userAgent;
 3         var Agents = ["Android", "iPhone",
 4                     "SymbianOS", "Windows Phone",
 5                     "iPad", "iPod"];
 6         var flag = true;
 7         for (var v = 0; v < Agents.length; v++) {
 8             if (userAgentInfo.indexOf(Agents[v]) > 0) {
 9                 flag = false;
10                 break;
11             }
12         }
13         return flag;
14     }

2、判断用户移动端使用的系统平台


1     var u = navigator.userAgent;
2     if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) {
3         //安卓手机
4     } else if (u.indexOf('iPhone') > -1) {
5         //苹果手机
6     } else if (u.indexOf('Windows Phone') > -1) {
7         //winphone手机
8     }

3、判断用户是否在微信中打开

1    function isWeiXin(){ 
2         var ua = navigator.userAgent.toLowerCase(); 
3         if(ua.indexOf('micromessenger') != -1) { 
4             return true; 
5         } else { 
6             return false; 
7         } 
8     }

4、判断安卓手机品牌

function judgeBrand() {
    var sUserAgent =navigator.userAgent.toLowerCase();
    
    var isIphone = sUserAgent.match(/iphone/i) == "iphone";
    var isHuawei = sUserAgent.match(/huawei/i) == "huawei";
    var isHonor = sUserAgent.match(/honor/i) == "honor";
    var isOppo = sUserAgent.match(/oppo/i) == "oppo";
    var isOppoR15 = sUserAgent.match(/pacm00/i) == "pacm00";
    var isVivo = sUserAgent.match(/vivo/i) == "vivo";
    var isXiaomi = sUserAgent.match(/mi\s/i) == "mi ";
    var isXiaomi2s = sUserAgent.match(/mix\s/i) == "mix ";
    var isRedmi = sUserAgent.match(/redmi/i) == "redmi";
    var isSamsung = sUserAgent.match(/sm-/i) == "sm-";

    if (isIphone) {
        return 'iphone';
    } else if (isHuawei || isHonor) {
        return 'huawei';
    } else if (isOppo || isOppoR15) {
        return 'oppo';
    } else if (isVivo) {
        return 'vivo';
    } else if (isXiaomi || isRedmi || isXiaomi2s) {
        return 'xiaomi';
    } else if (isSamsung) {
        return 'samsung';
    } else {
        return 'default';
    }
}

5、判断浏览器类型

function myBrowser() {
    var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
    var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器
    var isIE = userAgent.indexOf("compatible") > -1
        && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器
    var isEdge = userAgent.indexOf("Edge") > -1; //判断是否IE的Edge浏览器
    var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器
    var isSafari = userAgent.indexOf("Safari") > -1; //判断是否Safari浏览器
    var isChrome = userAgent.indexOf("Chrome") > -1; //判断Chrome浏览器

    if (isIE) {
        var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
        reIE.test(userAgent);
        var fIEVersion = parseFloat(RegExp["$1"]);
        if (fIEVersion == 7) {
            return "IE7";
        } else if (fIEVersion == 8) {
            return "IE8";
        } else if (fIEVersion == 9) {
            return "IE9";
        } else if (fIEVersion == 10) {
            return "IE10";
        } else if (fIEVersion == 11) {
            return "IE11";
        } else {
            return "0";
        }//IE版本过低
        return "IE";
    }
    if (isOpera) {
        return "Opera";
    }
    if (isEdge) {
        return "Edge";
    }
    if (isFF) {
        return "FF";
    }
    if (isSafari) {
        return "Safari";
    }
    if (isChrome) {
        return "Chrome";
    }
}

 

机器视觉应用工程师职位深度解析与面试指南 广东奥普特科技招聘机器视觉应用工程师,要求大专以上理工科专业背景,熟悉C/C++或PLC编程,具备自动化设备调试经验。岗位职责包括视觉项目方案评估、系统安装调试、售后技术支持及异常处理,需接受外派出差。该职位面向专业对口的应届生或实习生,强调动手能力、沟通技巧和吃苦耐劳精神。机器视觉工程师需掌握图像处理算法、硬件配置等核心技术,在工业自动化领域具有良好发展前景。求职者应注重编程能力和实践经验的积累,以胜任这一技术密集型岗位。 阅读详情

相关推荐

Ferry工单平台部署

ferry工单平台部署

运维求生之路 1897

js判断打开目前的是什么手机品牌,判断是否是微信,pc

判断业务是否是 iphone、华为、小米、oppo、view、三星 打开 function judgeBrand(sUserAgent) { var isIphone = sUserAgent.match(/iphone/i) == "iphone"; var isHuawei = sUserAgent.match(/huawei/i) == "huawei"; var isHonor ...

Dream_叶挺的博客 1977

从URDF到Gazebo:一个完整的ROS2机械臂仿真与运动控制实战指南

本文提供了一个完整的ROS2机械臂仿真与运动控制实战指南。详细讲解了从URDF建模、ROS2 Control配置到Gazebo物理仿真的全流程,重点介绍了如何利用MoveIt2快速搭建高级运动规划系统,并解决实际部署中的常见问题,帮助开发者高效、安全地进行机器人算法验证与开发。

red88的博客 573

JS_判断打开的是什么手机品牌,判断是否是手机,平板,pc

判断业务是否是 iphone、华为、小米、oppo、view、三星 打开

小歪博客 3188

Simulink实战:5步搞定固定翼飞行器六自由度动力学建模(附模型下载)

本文提供了一份详细的Simulink实战指南,通过5个核心步骤手把手教你构建固定翼飞行器的六自由度动力学模型。内容涵盖从顶层架构设计、核心方程手动实现,到模型集成、测试调试及进阶优化的完整流程,旨在帮助航空航天学生和工程师将抽象理论转化为可运行的仿真模型,并附有模型下载。

perl8的博客 634

SpringBoot 教程:SpringBoot多种方式实现静态Html页面跳转

本教程介绍了 Spring Boot 中实现静态 Html 页面跳转的常用方法,包括重定向跳转、直接返回 ModelAndView 对象以及使用 Thymeleaf 模板引擎。如果你的项目中使用了 Thymeleaf 模板引擎,那么可以利用它来实现静态页面的跳转。对于静态的 Html 页面,我们可以使用多种方式来实现跳转功能。重定向是一种常见的页面跳转方式,它通过发送 HTTP 重定向响应头来告知浏览器跳转到指定的页面。在 Spring Boot 中,我们可以将视图名称设置为静态页面的路径。

2301_79325657的博客 2448

js 检测浏览器的平台、操作系统

js 检测浏览器的平台、操作系统

rddataqingkong的博客 627

城市仿真软件:AnyLogic_(8).行人与人群动态仿真

定义行人个体的行为和属性,如行走速度、目标位置等。// 创建一个行人// 设置行走速度为1.5 m/s// 设置目标位置为入口// 创建另一个行人// 设置行走速度为1.2 m/s// 设置目标位置为出口// 创建行人// 创建乘客行人与人群动态仿真在城市规划、交通管理和紧急疏散等领域具有广泛的应用。通过AnyLogic提供的行人模型模块,可以有效地模拟行人的个体行为、群体动态和与环境的交互。

kkchenjj的博客 1247

js判断手机型号

由于oppo手机自带浏览器的高度底部多了144px导航栏 所以:专门针对oppo手机做适配: var dowphone = document.getElementById("dowphone"); function validBrowser(){ var u_agent = navigator.userAgent; if(u_agent.indexOf(...

weixin_33979203的博客 730

具身大小脑全栈全网独家复现|LLM链式推理+边缘VLA感知+毫秒级运动小脑、优化人形步态僵硬运动滞后、打通思考-行走-操作全链路适配居家工业多场景落地

高层决策大脑(异步10Hz,GPU算力):轻量化机器人微调LLM+RhinoVLA边缘视觉大模型,负责自然语言链式工序拆解、全局环境语义感知、目标物体筛选、跨机器人动作适配,输出粗粒度运动目标,不介入底层伺服计算;依托View Registry实现异构机器人动作对齐,适配多形态机器人切换;中层调度小脑(硬实时1kHz,CPU算力)

qq_36130719的博客 255

零基础学GPU KMD--8. 内存管理:GPU 显存与系统内存的协同​8.1 显存分配策略:GEM / TTM 原理

支持 VRAM、GTT(Graphics Translation Table)、SYSTEM 内存的动态迁移与缓存管理。:若缓冲区在 SYSTEM,TTM 分配 GTT 条目并建立页表映射,使 GPU 可直接访问。:系统内存中预留给 GPU 直接访问的区域,通过 GPU 的 MMU 做地址翻译。你需要我继续展开这一部分吗?​ 为复杂离散 GPU 设计,应对大容量 VRAM、多内存域、显存迁移等问题。:重量级、功能全,适合大容量、多内存域的离散 GPU,强调显存迁移与统一管理。

amy_mhd的博客 185

H5常用JS代码片段, 判断设备&JS预加载

1.JS判断设备 在编写移动端H5时, 由于安卓和IOS的不同, 会导致同一段代码,在不同系统设备上的实现效果不一样, 所以需要根据不同的设备, 进行适配。 例如, 在苹果手机上, 视频可以自动播放, 通过video.play()方法, 而安卓一定要点击触发才能自动播放, 音频也同样。以下是根据正则表达式判断用户设备的代码: 2.JS实现预加载 在H5的项目中, 许多项目都有

starstasts的博客 1859

华为OD机考真题 新系统 - 小菊的寻宝之旅(Java/Py/C/C++/Js/Go)

华为OD机试真题 新系统【小菊的寻宝之旅】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题 【小菊的寻宝之旅】多语言题解。

qq_45776114的博客 618

原生js判断设备类型

var u = navigator.userAgent; //Android终端 var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //iOS终端 var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); 1....

a6559687的博客 295

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

js判断移动设备

js判断使用的设备: if((navigator.userAgent.match(/iPhone|iPod/i) != null)||(navigator.userAgent.match(/iPad/i) != null)){//苹果设备 }else if(navigator.userAgent.match(/Android/i) != null){//安卓设备 } js判断在微信

牧羊人 701

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

JS判断设备类型

$(document).ready(function() { var useragent = navigator.userAgent;     if (useragent.indexOf('iPhone') != -1) {           alert("iPhone");     } else if(useragent.indexOf('iPad') != -1 ) {      

u013375167的博客 375

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

JavaScript判断设备类型加载对应网页并设置两端通用事件

JavaScript如何判断设备类型加载对应网页并设置通用事件 基本思路: 在网页入口添加判断逻辑,如下:首先获取当前navigator对象的userAgent,通过userAgent判断当前设备类型。 ①:如果符合移动端判断逻辑,则加载移动端入口;否则加载pc端入口 ②:通用事件的设置,比如点击事件,PC端为click,但是移动端也用click的话分不清是长按还是点击;根据平台类型设置通...

一位不知名小前端的一些笔记 1551

js 判断移动端还是pc端,ios或者android

js 判断移动端还是pc端,ios或者android 法一: function IsPC(){ var userAgentInfo = navigator.userAgent; var Agents = new Array("Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"); var ...

小糖穿越火线 575

判断用户是在什么设备打开的页面

1、首先判断pc端还是移动端。 function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "i...

dmbim82848的专栏 337

js获取设备类型--移动端、安卓、苹果、pc

// 设备类型 function deviceJudge() { if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { //alert(navigator.userAgent); //苹果端 return 'ios' } else if (/(Android)/i.test(navigator.userAgent)) { ...

qq_43654065的博客 1337
上一篇: ARToolKit制作属于自己的Marker
下一篇: 汽车运动之物理学分析一(基础知识)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值