副队长JavaScript教程(61)-BOM之location、history、navigator常见用法

发布时间:2026/10/30 18:16:05

副队长JavaScript教程(61)-BOM之location、history、navigator常见用法 点此查看所有教程、项目、源码导航文章目录1. 背景2. location 对象2.1 读取地址信息2.2 页面跳转2.3 刷新页面3. history 对象3.1 后退3.2 前进3.3 跳转到指定历史记录4. navigator 对象4.1 navigator.userAgent最核心4.2 navigator.platform 获取操作系统平台4.3 navigator.appName、navigator.appVersion了解4.4 实战场景判断移动端 / PC 端5. 小结1. 背景上一篇我们认识了 BOM 的顶层对象 window以及基础弹窗。window 下面还有几个非常实用的子对象location、history、navigator。它们都属于 BOM用来获取浏览器窗口、地址栏、访问历史相关信息。简单区分三个对象的职责location负责地址栏读取地址、跳转页面、刷新页面history负责访问历史记录前进、后退navigator负责浏览器本身信息比如浏览器名称、操作系统2. location 对象location 代表当前页面的地址栏信息我们可以读取地址也可以修改地址实现页面跳转。2.1 读取地址信息// 获取完整URL地址console.log(location.href);// 获取域名端口console.log(location.host);// 获取端口号console.log(location.port);// 获取路径部分console.log(location.pathname);最常用的就是location.href它可以拿到浏览器地址栏里完整的网址。2.2 页面跳转给 location.href 赋值就会跳转到新页面。// 跳转到新页面location.hrefhttps://www.baidu.com;2.3 刷新页面// 刷新当前页面location.reload();小提示reload () 就等价于我们按浏览器的刷新按钮。3. history 对象history 保存了当前标签页的访问历史栈用来实现页面前进、后退不能随意读取历史里面的网址浏览器安全限制只能控制跳转。3.1 后退// 回到上一页等价于浏览器左上角后退按钮history.back();3.2 前进// 去下一页等价于浏览器的前进按钮history.forward();3.3 跳转到指定历史记录// 参数 1前进1页参数 -1后退1页参数0刷新当前页history.go(-1);history.go(1);history.go(0);注意必须要有历史记录才能前进后退。刚打开页面没有上一页back () 不会有任何效果。4. navigator 对象navigator 翻译为导航器它里面存放的是当前浏览器、设备、操作系统的相关信息由浏览器自动提供我们主要用来读取信息一般不能修改。4.1 navigator.userAgent最核心userAgent 是一个很长的字符串里面打包了浏览器品牌、版本号、操作系统、设备类型等一大堆信息。console.log(navigator.userAgent);例如我的微软Edge浏览器打印如下打印出来的字符串看起来很杂乱它的作用就是让 JS 知道用户是用什么设备、什么浏览器打开网页的。注意userAgent 是浏览器上报的字符串是可以被修改伪装的所以它的判断只能作为参考不能当成百分百准确的依据。4.2 navigator.platform 获取操作系统平台console.log(navigator.platform);常见返回值Win32Windows 系统MacIntel苹果 Mac 系统Linux x86_64Linux 系统例如我的Windows电脑打印如下4.3 navigator.appName、navigator.appVersion了解早期用来识别浏览器现在现代浏览器返回值统一不太推荐用来判断浏览器属于历史遗留属性。console.log(navigator.appName);console.log(navigator.appVersion);4.4 实战场景判断移动端 / PC 端开发网页的时候经常需要区分手机和电脑展示不一样的内容。原理就是在 userAgent 字符串里面查找有没有Mobile这个关键词。varuanavigator.userAgent;if(ua.indexOf(Mobile)!-1){console.log(当前是手机端访问);}else{console.log(当前是电脑端访问);}解释indexOf如果找到字符串返回下标找不到返回 -1。只要不等于 - 1就说明包含 Mobile代表是移动设备。5. 小结location操作地址栏href 跳转页面reload 刷新页面。history控制页面前进后退back ()、forward ()、go ()出于安全不能读取历史里的网址。navigator读取浏览器、设备、系统信息最常用 userAgent可以简单区分手机和电脑。location、history、navigator 都是 window 下的对象书写时 window 可以省略。
延伸阅读

更多相关文章

2026/10/30 18:16:05

数据图表也有设计门槛:6款主流产品谁能做出更专业的商业图表?

摘要:很多人以为数据图表就是拖个字段、选个图形,但真正专业的商业图表,差距藏在图表类型的丰富度、默认样式的审美、交互的细腻程度,以及能否让业务人员自己做出合格图表。这篇横评 6 款主流 BI 产品,从图表设计能力的…

2026/10/30 18:11:05

MediaPipe手势识别Android集成实战:从关键点到源码避坑

简介:基于MediaPipe的Android Studio手势识别系统源码包,聚焦实时手势追踪与交互控制,适合移动开发学习者、高校人工智能与人机交互专业学生及科研人员参考。代码集成21个手部关键点实时追踪模型、多线程处理架构与手势轨迹平滑算法&#xff…

2026/10/30 19:21:18

Node构建JSON清单如何做最近秩P90耗时:用本地脚本建立可复核指标

JSON 解码只能确认格式,不代表字段齐全;把第三方日志转换成本文中间格式时,应另外核对键名、单位和类型。本文从Node构建JSON清单的受控中间格式读取记录,统一使用毫秒和退出码。要观察耗时分布的偏慢部分,可以计算百分…

2026/10/30 19:16:18

kernel-aodv_v2.2.2 内核态 AODV 编译、调优与避坑指南

简介:kernel-aodv_v2.2.2 是 Linux 内核环境下 AODV 按需距离矢量路由协议的实现源码包,面向具备一定 Linux 内核基础、从事无线自组织网络(Ad Hoc)研究与开发的工程师和高校师生,用于理解并部署无基础设施网络中的路由…

2026/10/29 17:05:52

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/29 17:06:02

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/29 17:06:13

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/30 0:00:46

NCP1342高频准谐振反激控制器:从设计约束到验收的完整方案

简介:NCP1342 高频准谐振反激控制器应用介绍译文文档,面向电源设计工程师、硬件研发人员及开关电源学习者,帮助读者跨越英文原版资料的语言门槛,系统理解这款高集成度 QR Flyback 控制器的设计要点。文档围绕芯片核心特性展开&…

2026/10/30 0:00:46

NCP1342准谐振反激电源设计:从选型到验收的全流程解析

简介:这份文档面向电源设计工程师与开关电源学习者,系统梳理NCP1342高频准谐振反激控制器的应用要点,帮助读者快速理解这款高集成度离线电源变换器控制芯片的工作机制与设计方法。内容涵盖芯片核心特性、引脚功能定义、电气特性参数表、最大额…

2026/10/30 0:00:46

Web系统自动登出机制设计与实现全解析

1. 系统自动登出机制的设计初衷在各类Web应用和后台管理系统中,自动登出功能早已成为标配。这个看似简单的功能背后,实际上涉及用户安全、资源管理和体验优化的多重考量。作为从业十多年的老开发,我见过太多因为登出逻辑设计不当导致的安全事…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑