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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 线程有哪些属性_thread runnable callable区别

    线程有哪些属性_thread runnable callable区别1、当在主线程中创建了一个线程,那么该线程的IsBackground默认是设置为FALSE的。2、当主线程退出的时候,IsBackground=FALSE的线程还会继续执行下去,直到线程执行结束。3、只有IsBackground=TRUE的线程才会随着主线程的退出而退出。4、当初始化一个线程,把Thread.IsBackground=true的时候,指示该线程为后台线程。后台线程将会随着主线程的退出而退出。5、原理:只要所有前台线程都终止后,CLR就会对每一个活在的后台线程调用Abort()

    2022年10月17日
    0
  • JAVA线程通信详解[通俗易懂]

    JAVA线程通信详解[通俗易懂]目录一、概述二、wait/notify机制三、Condition四、生产者/消费者模式五、线程间的通信——管道六、方法Join的使用一、概述    线程与线程之间不是相互独立的个体,它们彼此之间需要相互通信和协作,最典型的例子就是生产者-消费者问题:当队列满时,生产者需要等待队列有空间才能继续往里面放入商品,而在等待的期间内,生产者必须释放对临界资源(即队列…

    2022年6月19日
    25
  • idea中创建一个web项目

    idea中创建一个web项目第一步:新建空的java项目在idea项目下,新建一个model,这个model就可以是一个java项目。然后会弹出一个框,选择新建java项目:点击【next】之后进入下一步,取model项目名称:写好名称和存放的路径之后,点击【finish】完成java的model项目创建:以上就是一个空的java项目的创建。第二步:在java项目的基础上创建web项目右击刚创建的java项目,添加web项目所需架构,如下图:点击【AddFrameworksSupport】之后,会弹出一个

    2022年8月29日
    0
  • Tensorflow加载预训练模型和保存模型

    使用tensorflow过程中,训练结束后我们需要用到模型文件。有时候,我们可能也需要用到别人训练好的模型,并在这个基础上再次训练。这时候我们需要掌握如何操作这些模型数据。看完本文,相信你一定会有收获!

    2022年4月9日
    101
  • java nio剖析

    java nio剖析

    2021年5月6日
    108
  • 智能家居简单实现—使用ESP8266简单实现和APP通讯

    智能家居简单实现—使用ESP8266简单实现和APP通讯前段时间,公司利用ESP8266这个WiFi模块,做了好多小产品。从手机APP直连这个ESP8266进行通讯,再到实现远程控制。中间实现过程磕磕碰碰,虽然这方面已经做得非常成熟,但是网上的资料少之又少。现在把实现方式展示出来,同时也算是做一个笔记。首先这里要实现的是Android端的APP直连ESP8266进行双向通讯。如果想了解Android端的APP远程连接与ESP8266…

    2022年6月13日
    43

发表回复

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

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