前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >js浏览器版本和移动端版本总结

js浏览器版本和移动端版本总结

原创
作者头像
IT工作者
修改2022-02-08 10:07:12
2K0
修改2022-02-08 10:07:12
举报
文章被收录于专栏:程序技术知识程序技术知识

今天俺跟大家分享一个工具方法,用来判断浏览器内核版本信息,判断是否会移动端,判断是否为ios。

avaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性来分辨,另 一种是通过分析浏览器的userAgent属性来判断的。在许多情况下,值判断出浏览器类型之后,还需判断浏览器版本才能处理兼容性问题,而判断浏览器的 版本一般只能通过分析浏览器的userAgent才能知道。

浏览器类型

⑴浏览器特有属性

⑵根据userAgent

浏览器版本

⑴根据userAgent

对于手机浏览器判断

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

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

安卓qq浏览器HD版 只有AppleWebKit

2手机语言版本的判断

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

例:

代码语言:javascript
复制
// 判断手机型号显示按钮
if (/android/i.test(navigator.userAgent.toLowerCase()) == true) {
      //显示安卓按钮
 }else{
     //显示IOS按钮
}

判断浏览器访问终端。

代码语言: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.*/),                    //是否为移动终端
            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,                                  //是否iPad
            webApp: u.indexOf('Safari') == -1,                             //是否web应该程序,没有头部与底部
            weixin: u.indexOf('MicroMessenger') > -1,                      //是否微信
            qq: u.match(/\sQQ/i) == " qq"                                  //是否QQ
        };
    }(),
    language: (navigator.browserLanguage || navigator.language).toLowerCase()
};

2.确认是否为移动版浏览器。

代码语言:javascript
复制
// 判断是否为移动端
if (browser.versions.mobile || browser.versions.android || browser.versions.ios) {
    console.info("手机端");
    // window.location.href = "app/index.html";
} else {
    console.info("非手机端");
    // window.location.href = "index.html";
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2手机语言版本的判断
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com