Navigator对象,获取浏览器类型userAgent,机器类型platform

Navigator对象,获取浏览器类型userAgent,机器类型platformJavaScript常用事件集合,前端小白必备(写的很详细,建议收藏)1.文档加载事件鼠标事件获取浏览器类型,手机机型(容易出问题的地方)事件冒泡与事件委托(面试重点)一、获取浏览器类型letuserAgent=navigator.userAgent;console.log(userAgent);if(userAgent.indexOf(“Opera”)>-1){ //判断是否是Opera浏览器console.log(“Opera”);};

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

@Navigator对象

$属性

  • navigator.appCodeName // 浏览器名称 大多都是Mozilla
  • navigator.appName // 完整的浏览器名称
  • navigator.appVersion // 浏览器版本,一般不与实际的浏览器版本对应
  • navigator.cookieEnabled // 表示cookie是否启用
  • navigator.cpuClass // 客户端计算机使用的CPU类型
  • navigator.javaEnabled() // 表示当前浏览器中是否启用了java
  • navigator.language // 浏览器的主语言
  • navigator.systemLanguage // 操作系统的语言
  • navigator.userLanguage // 操作系统的默认语言
  • navigator.mimeTypes // 在浏览器中注册的MIME类型的数组
  • navigator.onLine // 浏览器是否联网
  • navigator.platform // 浏览器所在的系统平台
  • navigator.plugins // 浏览器中安装的插件信息的数组
  • navigator.product // 产品名称(如Gecko)
  • navigator.productSub // 关于产品的次要信息(如Gecko的版本)
  • navigator.vendor // 浏览器的品牌
  • navigator.vendorSub // 有关供应商的次要信息
  • navigator.registerProtocolHandler() // 针对特定的协议,将一个站点注册为处理程序
  • navigator.oscpu 返回当前操作系统名。
  • navigator.userAgent // 浏览器的用户代理信息

$方法

javaEnabled()  规定浏览器是否支持并启用了 java

taintEnabled()  规定浏览器是否启用数据污点(data tainting)

一、获取浏览器用户代理信息navigator.userAgent

const userAgent = navigator.userAgent;
      console.log(userAgent);
//我这用的谷歌
//Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36

二、获取运行浏览器的操作系统或硬件平台navigator.platform

const platform = navigator.platform;
      console.log(platform);
      //Win32

三、 判断浏览器类型

  1. (Opera、Firefox、Chrome、Safari)
let userAgent= navigator.userAgent;//获取
console.log(userAgent);
if (userAgent.indexOf("Opera") > -1) { 
   	// 判断是否是Opera浏览器
   console.log("Opera");
};
if (userAgent.indexOf("Firefox") > -1) { 
    // 判断是否是Firefox浏览器
   console.log("Firefox");
}
if (userAgent.indexOf("Chrome") > -1) { 
    // 判断是否是Chrome浏览器
   console.log("Chrome");
}
if (userAgent.indexOf("Safari") > -1) { 
   	// 判断是否是Safari浏览器
   console.log("Safari");
}
if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1) { 
   
   console.log("IE");      // 判断是否是IE浏览器
  1. 判断是Android或者iOS
 if (/(Android)/i.test(navigator.userAgent)) { 
   
    return 'Android'

  } else if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { 
   
    return 'iOS'
  }

  1. 判断是否是微信浏览器
if (/(MQQBrowser)/i.test(navigator.userAgent)) { 
   
    return true

  } else { 
   
    return false

  }
 if (/(micromessenger)/i.test(navigator.userAgent)) { 
   
    return true

  } else { 
   
    return false

  }

四、判断是手机端、平板还是PC

const type = function (){ 
   
    var ua = navigator.userAgent,

    isWindowsPhone = /(?:Windows Phone)/.test(ua),

    isSymbian = /(?:SymbianOS)/.test(ua) || isWindowsPhone,

    isAndroid = /(?:Android)/.test(ua),

    isFireFox = /(?:Firefox)/.test(ua),

    isChrome = /(?:Chrome|CriOS)/.test(ua),

    isTablet = /(?:iPad|PlayBook)/.test(ua) || (isAndroid && !/(?:Mobile)/.test(ua)) || (isFireFox && /(?:Tablet)/.test(ua)),

    isPhone = /(?:iPhone)/.test(ua) && !isTablet,

    isPc = !isPhone && !isAndroid && !isSymbian;

    return { 
   
        isTablet: isTablet,

        isPhone: isPhone,

        isAndroid: isAndroid,

        isPc: isPc

    };

}();

if (type.isAndroid || type.isPhone) { 
   
  console.log("手机")

} else if (os.isTablet) { 
   
  console.log("平板")

} else if(os.isPc) { 
   
  console.log("电脑")

}

五、 判断手机机型(移动端解决兼容问题常用)

    const type = navigator.userAgent
    const phone = type.indexOf("Android") > -1 || 
                    type.indexOf("Adr") > -1
	console.log(phone)

六、通过屏幕尺寸来进行浏览器类型判断

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194954.html原文链接:https://javaforall.net

(0)
上一篇 2025年10月26日 下午7:22
下一篇 2025年10月26日 下午8:01


相关推荐

  • modbus协议讲解及实现_MODBUS功能码

    modbus协议讲解及实现_MODBUS功能码Modbus是一种单主站的主/从通信模式。Modbus网络上只能有一个主站存在,主站在Modbus网络上没有地址,从站的地址范围为0-247,其中0为广播地址,从站的实际地址范围为1-247。Modbus通信标准协议可以通过各种传输方式传播,如RS232C、RS485、光纤、无线电等。Modbus具有两种串行传输模式,ASCII和RTU。它们定义了数据如何打包、解码的…

    2025年8月25日
    4
  • java培训学校杭州_杭州Java培训班

    java培训学校杭州_杭州Java培训班前言这段时间也一直在学习Netty相关知识,因为涉及知识点比较多,也走了不少弯路。目前网上关于Netty学习资料玲琅满目,不知如何下手,其实大家都是一样的,学习方法和技巧都是总结出来的,我们在没有找到很好的方法之前不如按部就班先从基础开始,一般从总分总的渐进方式,既观森林,又见草木。Netty是一款提供异步的、事件驱动的网络应用程序框架和工具,是基于NIO客户端、服务器端的编程框架。所以这里我们先以NIO和依赖相关的基础铺垫来进行剖析讲解,从而作为Netty学习之旅的一个开端。为什么学Java?Jav

    2022年10月3日
    4
  • 十大滤波算法总结

    十大滤波算法总结由于MPU6050的深入,我也学会了一些滤波算法,自己写了一些算法,收集了一些算法,供大家一起学习分享,我的代码都是经过反复试验,复制到Arduino中就能开跑的成品代码,移植到自己的程序中非常方便。而且都仔细研究了各个算法,把错误都修正了的,所以也算个小原创吧,在别人基础上的原创。1、限幅滤波法(又称程序判断滤波法)2、中位值滤波法3、算术平均滤波法4、递推平均滤波法(又称滑动平

    2022年6月14日
    72
  • ActiveMQ

    ActiveMQ

    2021年7月8日
    108
  • 数组转为list java_思考与实践并行的俗语

    数组转为list java_思考与实践并行的俗语不曾想到,“Java数组转List”竟然有这么多的学问,震撼之余夹带些许不堪。

    2022年8月23日
    8
  • matlab怎么输出dxf格式文件,matlab创建DXF文件

    matlab怎么输出dxf格式文件,matlab创建DXF文件DXFLibDXFLib AutocadDXFis relatedappli AutoCADDXFc

    2025年8月22日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号