通过浏览器navigator判断浏览器版本或者手机类型判断微信访问
javascript 的navigator属性,不常用,但是用处也不少,主要用处是在做浏览器兼容的问题的时候,现在有的网站已经不兼容IE6,用户假如用IE6浏览网页的话,会提示浏览器升级等信息。或者判断是手机用户还是电脑用户,手机用户调整至手机网站,电脑用户之间跳转至电脑网页等等。
首先我们来谈谈navigator属性。
你可以在自己电脑上,用复制如下信息,运行一下,看看:
var x = navigator; document.write("CodeName=" + x.appCodeName); document.write("<br />"); document.write("MinorVersion=" + x.appMinorVersion); document.write("<br />"); document.write("Name=" + x.appName); document.write("<br />"); document.write("Version=" + x.appVersion); document.write("<br />"); document.write("CookieEnabled=" + x.cookieEnabled); document.write("<br />"); document.write("CPUClass=" + x.cpuClass); document.write("<br />"); document.write("OnLine=" + x.onLine); document.write("<br />"); document.write("Platform=" + x.platform); document.write("<br />"); document.write("UA=" + x.userAgent); document.write("<br />"); document.write("BrowserLanguage=" + x.browserLanguage); document.write("<br />"); document.write("SystemLanguage=" + x.systemLanguage); document.write("<br />"); document.write("UserLanguage=" + x.userLanguage);
我的电脑的运行结果如下:
CodeName=Mozilla MinorVersion=undefined Name=Netscape Version=5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36 CookieEnabled=true CPUClass=undefined OnLine=true Platform=Win32 UA=Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36 BrowserLanguage=undefined SystemLanguage=undefined UserLanguage=undefined
对照一下即可一目了然。
根据上面的navigator属性,我们可以来判断浏览器版本了,下面我们一起来做一个例子:
页面在IE7一下,提示浏览器升级,其他浏览器正常浏览
可以写如下代码:
if(window.ActiveXObject){var browser=navigator.appName var b_version=navigator.appVersion var version=b_version.split(";"); var trim_Version=version[1].replace(/[ ]/g,""); if(browser=="Microsoft Internet Explorer" && trim_Version=="MSIE6.0" || trim_Version=="MSIE7.0" ) { $(".ie7andie6").show();$(".contentnone").hide();} }
html我们可以这么写:
<div class="contentnone" style="margin-top:30px;text-align: center;font-size:18px;">各位亲们,大家好,我在IE8以上可以正常浏览啊!</div><div class="ie7andie6 mod-main" style="display:none;"><div class=tip><p>您使用的浏览器版本较低,建议您换用下面这些浏览器试试吧。</p></div><ul class="clr mod-browsers"><li><A class=chrome href="http://www.google.cn/intl/zh-CN/chrome/" target=_blank>Chrome</A> </li><li><A class=ie href="http://windows.microsoft.com/zh-cn/internet-explorer/ie-10-worldwide-languages" target=_blank>IE10</A> </li><li><A class=ff href="http://firefox.com.cn/" target=_blank>Firefox</A> </li></ul><div class=switch-pic></div> </div>
IE8及其别的版本就可以正常浏览了!
另外你也可以用这个方法来判断是手机端用户还是电脑用户:
var a=navigator.userAgent;
if(a.indexOf("Android")!=-1 || a.indexOf("iPhone")!=-1 || a.indexOf("iPad")!=-1 ){//跳转到手机网站}//tips: 也可以用try catch 对手机特有的touch事件监测,如果支持这些事件就可以跳转到H5页面;
js 判断安卓或者ios 之indexOf方式:
//判断访问终端 var browser={versions:function(){var u = navigator.userAgent, app = navigator.appVersion;return {trident: u.indexOf('Trident') > -1, //IE内核presto: u.indexOf('Presto') > -1, //opera内核webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,//火狐内核mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器iPad: u.indexOf('iPad') > -1, //是否iPadwebApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增)qq: u.match(/\sQQ/i) == " qq" //是否QQ};}(),language:(navigator.browserLanguage || navigator.language).toLowerCase() }
使用方法:
//判断是否IE内核 if(browser.versions.trident){ alert("is IE"); } //判断是否webKit内核 if(browser.versions.webKit){ alert("is webKit"); } //判断是否移动端 if(browser.versions.mobile||browser.versions.android||browser.versions.ios){ alert("移动端"); }
js 判断安卓或者ios 之正则表达式方式:
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {//alert(navigator.userAgent); //苹果端 } else if (/(Android)/i.test(navigator.userAgent)) {//alert(navigator.userAgent); //安卓端 } else {//pc端 };
js 判断微信访问页面:
var ua= navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i)=="micromessenger") {alert("is wechat");
}
转载于:https://www.cnblogs.com/lidongfeng/p/5179856.html
通过浏览器navigator判断浏览器版本或者手机类型判断微信访问相关推荐
- php 判断后缀名,PHP 文件类型判断代码
何为MIME类型,它是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问时,浏览器会自动使用指定应用程序来打开. 多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式. ...
- php上传文件类型判断,PHP上传文件类型判断
文件后缀名 文件类型 3gp video/3gpp aab application/x-authoware-bin aam application/x-authoware-map aas applic ...
- 判断浏览器类型及是否能使用ES6部分特性
工作需要判断当前浏览器是否能使用ES6特性: 1.首先肯定要先判断当前浏览器的类型 2.然后判断该浏览器是否支持ES6的部分特性: 解决1: var userAgent = navigator.use ...
- javascript判断浏览器和终端类型,js如何区分手机、电脑终端和浏览器
判断浏览器类型 复制代码代码如下: if ( window.sidebar && "object" == typeof( window.sidebar ) & ...
- js判断移动终端(手机浏览器)
方法1: <script type= "text/javascript" > var browser = { versio ...
- vue对手机号的判断_Vue分享功能实现,判断不同手机、浏览器及微信内核
Vue分享功能实现,判断不同手机.浏览器及微信内核,展示对应内容. HTML: JavaScript:data(){ return{ shareImg:"/static/img/share- ...
- JavaScript判断浏览器类型及版本
JavaScript判断浏览器类型及版本 你知道世界上有多少种浏览器吗?除了我们熟知的IE, Firefox, Opera, Safari四大浏览器之外,世界上还有近百种浏览器. 几天前,浏览器家族有 ...
- 判断浏览器类型及版本
公司前段时间做项目需要判断浏览器,因为项目进度急暂时只支持一种浏览器 使用window.navigator.userAgent属性,但是在国产浏览器上遇到了问题,下面这段代码只能判断内核,但是我想判断 ...
- js/jQuery判断浏览器名称、内核版本、浏览器壳
1.js方法/* 判断浏览器名称和版本 目前只能判断:ie/firefox/chrome/opera/safari 2012年5月16日23:47:08 浏览器内核UA:UA; 浏览器内核名称:NV. ...
最新文章
- php获取svn文件,然后ftp上传服务器代码
- 作文计算机使用有什么问题,关于电脑利弊的作文
- 显式锁select for update 用法
- Windows编程中的映射模式和坐标转换
- Linux重定向的理解
- R语言在金融中的应用二
- 怎么修改html的空格大小,如何改变空格的大小 word空格间隔很大怎么调整
- 【转】MongoDB资料汇总专题
- php mkdir没有权限不能创建成功的问题
- (转)在FlashBuilder里的ActionScript工程中使用Flash CS5中的类 fl.controls库
- 计算机密码最满足安全的要求,win10怎么设置登录密码保证电脑安全性
- 有关lodop.js和CLodop服务
- java 上传文件接口_Java接口实现文件上传
- 解决服务器上中文显示乱码问题
- [附源码]Python计算机毕业设计电影票购票系统
- 【零基础-3】PaddlePaddle学习Bert
- 如何将前端代码写的优雅?
- 网络技术 | Cisco Packet Tracer 6.2安装包 安装教程
- JavaSE知识点(1)
- 水听器matlab,睿睿
热门文章
- vb计算机考试试题及答案,计算机二级考试《VB》操作试题及答案2016
- matlab 算法集锦
- Miniconda3+Tensorflow2.3(GPU版)+Win10_x64+GTX1060深度学习环境搭建
- 半导体基础知识(2):PN结二极管和二极管特性
- HDLBits 系列(17) 计数器的级联实现1000分频的分频器
- 【 FPGA 】UltraFast设计方法学:定义时钟分组
- 【 Verilog HDL 】避免出现锁存器的组合电路描述方式
- 工作流程怎么安排?用Edraw Max轻松创建工作流程图!
- PHP APM fiery 更新 v0.5.8.0
- 数据标准化处理,data.mean和data.std