window.navigator.userAgent用来区分设备和浏览器

window.navigator.userAgent用来区分设备和浏览器javascript的navigator对象navigator为Window对象的一个属性,指向了一个包含浏览器相关信息的对象。navigatot中包含了一些常用到的属性,如navigator.appVersion浏览器的版本号navigator.appName浏览器的名称navigator.language浏览器使用的语言navigator.platform…

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

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

javascript的navigator对象

navigator为Window对象的一个属性,指向了一个包含浏览器相关信息的对象。navigatot中包含了一些常用到的属性,如   

navigator.appVersion 浏览器的版本号 

navigator.appName 浏览器的名称 

navigator.language 浏览器使用的语言 

navigator.platform 浏览器使用的平台 

navigator.userAgent 浏览器的user-agent信息

 

其中userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。

一般来讲,它是在 navigator.appCodeName 的值之后加上斜线和 navigator.appVersion 的值构成的。

例如:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)。

 

一些例子:

 

//判断当前页面所在的环境是不是微信内置浏览器

function isWeiXin() {

var ua = window.navigator.userAgent.toLowerCase();

if (ua.match(/MicroMessenger/i) == 'micromessenger') {

return true;

} else {

return false;

}

}

//判断苹果、安卓、pc

if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { //判断iPhone|iPad|iPod|iOS

  window.location.href ="iPhone.html";

} else if (/(Android)/i.test(navigator.userAgent)) { //判断Android

  window.location.href ="Android.html";

} else { //pc

  window.location.href ="pc.html";

};

//正则表达式判断浏览器类型

function userBrowser(){   

var browserName=navigator.userAgent.toLowerCase();   

if(/msie/i.test(browserName) && !/opera/.test(browserName)){   

alert("IE");   

return ;   

}elseif(/firefox/i.test(browserName)){   

alert("Firefox");   

return ;   

}elseif(/chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName)){   

alert("Chrome");   

return ;   

}elseif(/opera/i.test(browserName)){   

alert("Opera");   

return ;   

}elseif(/webkit/i.test(browserName) &&!(/chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName))){   

alert("Safari");   

return ;   

}else{   

alert("unKnow");   

    }   

}  

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 大数据教程,大数据学习线路图

    大数据教程,大数据学习线路图前言先引用一下马云大大的话:很多人还没搞清楚什么是PC互联网,移动互联网来了,我们还没搞清楚移动互联的时候,大数据时代又来了。马云深度解析大数据“大数据”是近年来IT行业的热词,并广泛的应用在各行各业。特别是近年来随着社交网络、物联网、云计算以及多种传感器的广泛应用,以数量庞大,种类众多,时效性强为特征的非结构化的数据不断涌现,数据的重要性愈发凸显,传统的数据存储、分析技术难以实时处…

    2022年5月22日
    58
  • django框架菜鸟教程_django框架菜鸟教程

    django框架菜鸟教程_django框架菜鸟教程Django一、介绍1、简介是用python语言写的开源web开发框架,并遵循MVC设计。Django的主要目的是简便、快速的开发数据库驱动的网站。2、特点1)重量级框架2)MVT模式MVC其核心思想是分工、解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容。M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。…

    2025年10月8日
    3
  • windows退出vim

    windows退出vim在普通模式下,用ZZ来保存并退出,用ZQ不保存退出。在插入模式下,先按来回到普通模式,再按ZZ或者ZQ。(注意:ZZ或者ZQ直接按,要大写。)

    2022年5月1日
    50
  • tikv源码分析_crt脚本命令大全

    tikv源码分析_crt脚本命令大全版权声明:本文由神州数码云基地团队整理撰写,若转载请注明出处。以TiKvConfigstruct为起始点,从TiKvConfig内部的字段开始,分析每个模块的作用和配置检查逻辑所做的事情。TiKV是一个分布式事务型的键值数据库,是TiDB的存储层,提供了满足ACID约束的分布式事务接口,并且通过Raft协议保证了多副本数据一致性以及高可用。关于TiDB、TiKV的详细介绍可以从官网查阅,这里就不多赘述了。知乎上已经有一篇高屋建瓴的文章,由TiKV亲爹Ed写的TiKV代码初探,可以从整

    2022年9月23日
    5
  • c语言实现简单的socket通信

    c语言实现简单的socket通信一 通讯示意图 nbsp 二 函数详解 1 socket 函数 intsocket intdomain inttype intprotocol socket 函数对应于普通文件的打开操作 普通文件的打开操作返回一个文件描述字 而 socket 用于创建一个 socket 描述符 socketdescri 它唯一标识一个 socket 这个 socket 描述字跟文件描

    2025年6月24日
    6
  • 机房收费系统——组合查询

    机房收费系统——组合查询机房收费系统——组合查询

    2022年4月24日
    44

发表回复

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

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