Navigator对象详解

本文详细介绍了Navigator对象,重点关注了userAgent属性的使用,包括如何判断设备类型(如微信内置浏览器、移动端或PC端)、操作系统(iOS或Android)。此外,还探讨了userAgent在浏览器数据收集和页面自适应等方面的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Navigator对象概述

Navigator对象包含有关浏览器的信息

console.log(navigator)

userAgent属性 【重点】

var ua = navigator.userAgent;
console.log(ua)

win google  
"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"

试用场景

var browser = {
      versions: function() {
        var ua = navigator.userAgent;
        var versions = {
          trident: ua.indexOf('Trident') > -1, //IE内核
          presto: ua.indexOf('Presto') > -1, //opera内核
          webKit: ua.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
          gecko: ua.indexOf('Gecko') > -1 && ua.indexOf('KHTML') == -1, //火狐内核
          mobile: !!ua.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
          ios: !!ua.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
          android: ua.indexOf('Android') > -1 || ua.indexOf('Adr') > -1, //android终端
          iPhone: ua.indexOf('iPhone') > -1, //是否为iPhone或者QQHD浏览器
          iPad: ua.indexOf('iPad') > -1, //是否iPad
          webApp: ua.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部
          weixin: ua.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增)
          qq: ua.match(/\sQQ/i) == " qq" //是否QQ
        }
        return versions;
      }(),
      language: (navigator.browserLanguage || navigator.language).toLowerCase(),
      network: function() {
        var ua = navigator.userAgent;
        var networkStr = ua.match(/NetType\/\w+/) ? ua.match(/NetType\/\w+/)[0] : 'NetType/other';
        networkStr = networkStr.toLowerCase().replace('nettype/', '');
        var network;
        switch (networkStr) {
          case 'wifi':
            network = 'wifi';
            break;
          case '4g':
            network = '4g';
            break;
          case '3g':
            network = '3g';
            break;
          case '3gent':
            network = '3g';
            break;
          case '2g':
            network = '2g';
            break;
          default:
            network = 'other';
        }
        return network;
      }()
    }
  • 判断设备是否微信内置浏览器打开
if (browser.versions.weixin) {
    
}
  • 判断设备是否移动端或者PC端
if (browser.versions.mobile) {
    
} else {
    
}
  • 判断是ios设备还是android设备
if (browser.versions.ios) {
    
} else if(browser.versions.android){
    
}else {
    
}

总结

userAgent 浏览器数据收集、自适应等方向。

结束语
  • 天生我才必有用
  • 把所有平凡的事都做好
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值