JS判断手机浏览器

原文:JS判断手机浏览器

判断原理:

JavaScript是前端开发的主要语言,我们可以通过 编写JavaScript程序来判断浏览器的类型及版本。JavaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性来分辨,另 一种是通过分析浏览器的userAgent属性来判断的。在许多情况下,值判断出浏览器类型之后,还需判断浏览器版本才能处理兼容性问题,而判断浏览器的 版本一般只能通过分析浏览器的userAgent才能知道。

 

浏览器类型

⑴浏览器特有属性

⑵根据userAgent

浏览器版本

⑴根据userAgent

 

对于手机浏览器判断

1.如何判断是否为移动终端 利用正则match

匹配navigator.userAgent是否含有字符串AppleWebKit*****Mobile

安卓qq浏览器HD版 只有AppleWebKit

2手机语言版本的判断

使用navigator.browserLanguage 便可得出windows phone语言版本,
当然可恶的小小手机语言版本也有兼容性的差异,兼容Mozilla,以及AppleWebKit内核的浏览器访问其语言版本,它会列出 navigator.language

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

<script type="text/javascript">

/*

* 智能机浏览器版本信息:

*

*/

  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.*/)||!!u.match(/AppleWebKit/), //是否为移动终端

                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 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器

                iPad: u.indexOf('iPad') > -1, //是否iPad

                webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部

            };

         }(),

         language:(navigator.browserLanguage || navigator.language).toLowerCase()

}

document.writeln("语言版本: "+browser.language);

document.writeln(" 是否为移动终端: "+browser.versions.mobile);

document.writeln(" ios终端: "+browser.versions.ios);

document.writeln(" android终端: "+browser.versions.android);

document.writeln(" 是否为iPhone: "+browser.versions.iPhone);

document.writeln(" 是否iPad: "+browser.versions.iPad);

document.writeln(navigator.userAgent);

 

</script>

比较特别的地方

UC浏览器没有安卓报头,只返回:linux ,这里粗略的根据linux来判断是安卓(前提必须满足是移动终端,UC这点是满足的)

安卓QQ浏览器HD版检测的结果是:mac, Safari,这个很是变态,自己看着处理吧

3个检测浏览器User-Agent信息的网站

三个在线网站,通过手机浏览器就可以在线检测,很是方便

1. http://whatsmyuseragent.com/

2. http://whatsmyua.com/

3. http://www.useragentstring.com/

 

参考文章:

Pc浏览器

http://www.jb51.net/article/17302.htm

http://www.bairuiw.com/front-end-skill/1346.html

手机浏览器

http://www.iundefined.com/development/344.html

http://www.cnblogs.com/dowinning/archive/2011/07/22/2113747.html

http://www.cnblogs.com/dowinning/archive/2011/07/22/2113981.html

http://luckerme.com/archives/1015.html

 

原文:

http://www.cnblogs.com/phphuaibei/archive/2011/12/09/2282570.html

时间: 2024-10-17 22:23:35

JS判断手机浏览器的相关文章

js判断手机浏览器操作系统和微信浏览器的方法_javascript技巧

今天就为大家介绍一下用js判断手机客户端平台及系统平台的方法: <script type="text/javascript"> //手机端判断各个平台浏览器及操作系统平台 function checkPlatform(){ if(/android/i.test(navigator.userAgent)){ document.write("This is Android'browser.");//这是Android平台下浏览器 } if(/(iPhonei

两款JS脚本判断手机浏览器类型跳转WAP手机网站_javascript技巧

随着移动设备的普及,企业的网络宣传已经不能局限在PC端,而需要同时在移动端有所建树.对于公司网站来说,以前都是做的PC端的,当然手机等移动端也可以访问,但是用户体验肯定不如完全适合的手机端来的方便.我们在给自己的网站做了WAP手机网站之后,如果有用户通过手机访问我们的企业顶级域名网站,那就判断跳转到专为的WAP网站. 这里老左整理到目前自己在使用的2种JS脚本,因为之前一直有朋友跟我要,所以这里分享出来. 第一种:直接JS脚本 <script type="text/javascript&q

js判断手机和pc端选择不同执行事件的方法_javascript技巧

本文实例讲述了js判断手机和pc端选择不同执行事件的方法.分享给大家供大家参考.具体如下: 判断是否为手机: function isMobile(){ var sUserAgent= navigator.userAgent.toLowerCase(), bIsIpad= sUserAgent.match(/ipad/i) == "ipad", bIsIphoneOs= sUserAgent.match(/iphone os/i) == "iphone os", bI

使用JavaScript判断手机浏览器是横屏还是竖屏问题_javascript技巧

//判断手机横竖屏状态: function hengshuping(){ if(window.orientation==180||window.orientation==0){ alert("竖屏状态!") } if(window.orientation==90||window.orientation==-90){ alert("横屏状态!") } } window.addEventListener("onorientationchange" i

js缩放手机浏览器-如何用js恢复手机浏览器页面到初始的缩放比例

问题描述 如何用js恢复手机浏览器页面到初始的缩放比例 有一个手机上浏览的网页,我通过手势把页面放大了(没有写相关的手势控制代码,是手机浏览器自带的手势缩放功能),经过测试发现它实际是改变了浏览器的window.innerWidth/window.innerHeight这两个属性的数值,而window.outerWith/window.outerHeight都没有变化.那么问题来了,有没有方法 用js 把浏览器恢复到初始比例呢? 我已经尝试过下面的方法,都不行: 1.直接修改window.inn

js判断ie浏览器版本

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-

js判断用户浏览器类型

js判断用户浏览器类型 var lang = new Array(); var userAgent = navigator.userAgent.toLowerCase(); var is_opera = userAgent.indexOf('opera') != -1 && opera.version(); var is_moz = (navigator.product == 'Gecko') && userAgent.substr(userAgent.indexOf('f

Javascript判断手机浏览器实例代码

最近准备做一个手机端的网站.所以在网上找了几个判断是否是手机浏览器的js脚本,贴上来,分享下: 1.如何判断是否为移动终端 利用正则match, 匹配navigator.userAgent是否含有字符串AppleWebKit*****Mobile 安卓qq浏览器HD版 只有AppleWebKit 2手机语言版本的判断 使用navigator.browserLanguage 便可得出windows phone语言版本, 当然可恶的小小手机语言版本也有兼容性的差异,兼容Mozilla,以及Apple

js判断IE浏览器版本过低示例代码_javascript技巧

弄了个很简单的例子判断IE浏览器版本是否过低 例子结构如下,其实一个页面加引入jquery就可以了,顺便弄了个标准结构(注意在IE6和IE7版本较低情况下下才看到它的提示效果)   复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <h