JS确定类型和浏览器版本通过UserAgent属性

JS确定类型和浏览器版本通过UserAgent属性
Javascript是前端开发的主要语言,我们可以通过编写Javascript程序来确定浏览器的类型和版本。一是区分基于其独特的属性,另一个是对浏览器的UserAgent属性。在本文中,浏览器的用户代理的特点进行了分析,并给出了判断方法

视窗操作系统浏览器系列:

IE浏览器系列:
特性:全部都是
判断方法:粗糙的判断只能检索MSIE X.0;字符串可以严格判断能够找回Mozilla / X.0(相容;MSIE X.0;Windows NT),但一般不需要。
视窗版火狐:
特点:与Mozilla / X.0 开始
判断方法:粗略判断只能检索火狐和Windows NT字符串,并严格判断,我们可以检索四个字符串:Mozilla、Windows NT、火狐和Firefox。
视窗版Chrome:
特征:从Mozilla X.0 /
判断方法:粗略判断只能检索Windows NT和铬 字符串。严格地判断,我们可以检索五个字符串
视窗版Opera:
特点:
判断方法:粗略的判断只能检索Windows NT和Opera 字符串,并严格判断Opera
视窗版本Safari:
特性:它以Mozilla开头,并包含Windows NT
判断方法:粗略判断可以用Windows NT和Safari检索,同时不包含铬 。严格的判断需要包括Mozilla /,Windows NT,applewebkit / /旅行,但不包含铬/。
摘要:浏览器用户在Windows操作系统中都包含Windows NT字符串表示Windows操作系统。

iPhone平台浏览器系列:

iPhone自带Safari:
特性:
判断方法:粗略判断只能检索iPhone和Safari的字符串。严格地判断,它还包括四个字符串,
手机版:
特点:歌剧
判断方法:粗略判断只能检索iPhone和Opera的字符串。严格的判断,它还包括四个字符串,歌剧
摘要:在iPhone手机浏览器用户代理包含iPhone字符串

android平台浏览器系列:

Android自己的浏览器(有人说它实际上是Chrome浏览器,但谷歌不这么做,而且它还在开发一款Chrome手机在Android上运行):
特性:
判断方法:因为还不知道是否会有一个独立的Safari在Android上,所以建议我们直接和严格地判断五个字符串
android版手机版:
特点:歌剧
判断方法:粗略判断只能检索Android和Opera。严格的判断应包括五个字符串:歌剧
android版火狐:
特性:在Mozilla的开头
判断方法:粗略判断只能检索Android和火狐。严格的判断应该包括六个字符串:
摘要:在Android平台上的浏览器的用户代理包含Android和Linux字符串

Windows、iPhone,超过三大平台的主流浏览器解析基本结束了Android平台,其他平台的Linux和Android平台至少应该是相似的,而iPad和苹果的Mac OS的使用应与iPhone平台相似,所以暂不分析,因为没有那么多的设备和操作系统后测试,希望能够填补。

产品开发的要求,现在和以前不一样了,因为不仅要满足计算机浏览,还需要通过智能手机满足用户(iPhone,Android,这里仅指Windows手机真正的智能手机,这一生态系统的半智能不考虑,黑莓掌为对于Symbian的伪智能系统滚开。它)通过以上三个有代表性的平台,也可以大致推断根据浏览器的用户代理解决用户设备的判断。

1。如果你需要判断操作系统,方法简单检索字符串在用户代理:

它包含Windows NT:很明显,Windows操作系统,NT后面的版本号可以判断操作系统版本;
一个包含mac的系统:苹果的Mac OS X或其他Mac OS内核。
包含iPhone:苹果iPhone手机专有的,一般来说,也应该包含Mac;
包含iPad:苹果iPad平板电脑(数据显示,iPad的浏览器用户还包含Mac
它包含Linux、Linux操作系统或其他以Linux为内核的操作系统。
包含安卓的Android操作系统:谷歌可能是智能手机,也可能是Android的平板电脑。一般来说,在Android平台上的用户也应该包含Linux。
UNIX
Linux的自定义版本为Ubuntu:Ubuntu
......

正如您所看到的,判断操作系统及其版本并不总是有用的,但总是有一些地方可以使用,比如为iPhone、iPad和Android设备开发屏幕分辨率的页面。

2,判断浏览器的核心,方法并不难,我想起来,未必都是对的:

IE(Trident内核(IE)的Mac,ies4linux等等都不需要考虑,考虑到Windows只):从Mozilla /,包含Windows NT和MSIE字符串。
Firefox(壁虎)的内核:它从Mozilla / 和 / 包含火狐、壁虎 / 字符串,其中Android版本也有一个非洲小狐 / 字符串;
Opera()内核:在歌剧开头
WebKit内核:从Mozilla /
以上是主浏览器内核

浏览器内核是解决兼容性问题的关键然而,兼容性问题有JQuery,ExtJS框架来帮你解决,所以用不同的内核在课程案例的渲染效果的CSS样式的各个页面的判断,对渲染结果是不同的不同的设备在智能手机和计算机等相同的内核,这也需要注意。

3、判断浏览器useagent实际应用:

不同浏览器内核的渲染效果是不同的。虽然jQuery、ExtJS已经为我们做了兼容处理,仍有一些细微的差别,我们需要单独处理。
用户不只是通过电脑访问网站。随着智能手机的普及和平板电脑的普及,互联网接入的比例越来越高。我们该怎么做呢平板电脑还行,屏幕分辨率很高。智能手机受到屏幕大小和分辨率的限制。虽然它具有强大的处理能力,但它也能完美地支持现有的网站。但考虑到更多的顾客是没有坏处的。你这么认为吗毕竟通过本地拖动和缩放非常不舒服的话,我们就可以专门为iPhone和Android的屏幕缩小提供特殊的布局版本,以增强浏览体验,并减少网络流量,加快访问速度
对访客流量进行分析,通过判断用户浏览器的类型和记录它们的数量来优化自己的网站,以提高客户体验。
复制代码代码如下所示:

var;
var ua = navigator.useragent.tolowercase();
VaR的;
(S = ua.match( / MSIE({ D. } +)/))sys.ie =的{ 1 }:
(S = ua.match( / / Firefox({ D. } +)/))sys.firefox =的{ 1 }:
(S = ua.match( / /铬({ D. } +)/))sys.chrome =的{ 1 }:
(S = ua.match( /歌剧。({ D. } +)/))sys.opera =的{ 1 }:
(S = ua.match( / /版本({ D. } +)* Safari /))sys.safari =的{ 1 }:0;

下面的测试
如果(系统IE)document.write('ie:+系统IE);
如果(SYS。Firefox)document.write('firefox:+系统Firefox);
如果(系统Chrome)document.write('chrome:+系统铬);
如果(SYS。歌剧)document.write('opera:+系统。歌剧);
如果(SYS。Safari)document.write('safari:+系统Safari);

或:
KindEditor开源编辑器源代码检测浏览器:
克= };
ke.browser =(功能){
var ua = navigator.useragent.tolowercase();
返回{
(版本:ua.match / / {(MSIE | Firefox | WebKit |歌剧): }( D +)/ regexp。2美元):0
即:(ua.indexof(MSIE)> 1 ua.indexof(歌剧)= = 1),
壁虎:(ua.indexof(壁虎)> 1 ua.indexof(KHTML)= = 1),
Webkit:(ua.indexof(applewebkit )> 1),
歌剧:(ua.indexof(歌剧)> 1)
};
});
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部