news 2026/9/1 23:56:16

BOM 浏览器对象模型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
BOM 浏览器对象模型

1:跳转页面
属性名:history.back()
谐音读音:黑斯特瑞 拜克
使用方法:history.back()
讲解属性作用:返回上一页,等同于浏览器左上角回退按钮
使用场景:详情页的返回按钮,弹窗关闭后返回上一页,多步骤表单,上一步按钮
使用图属性名:history.forward()
谐音读音:黑斯特瑞 佛沃得
使用方法:history.forward()
讲解属性作用:在浏览器历史记录里向前前进一页,模拟浏览器自带的前进按钮
使用场景:后台管理系统自定义导航条,多步骤表单,上一步、下一步
使用图属性名:history.go()
谐音读音:黑斯特瑞 勾
使用方法:history.go(1或者-1)
讲解属性作用根据传入的数字参数,在浏览器历史记录中跳转 n 步
使用场景:前进多步,回退多步,history.go (0) 刷新页面
使用图

2:screen /window 尺寸相关 API
1:screen.availWidth / availHeight
属性名:screen.availWidth谐音读音:斯哥rin,额维欧 维兹属性名:screen.availHeight谐音读音:斯哥rin,额维欧 海特
使用方法let width1 = screen.availWidth;
讲解属性作用:获取显示器屏幕除去任务栏之后的可用宽高,是硬件屏幕的尺寸,不是浏览器窗口
使用场景
弹窗居中计算(以整个显示器屏幕为基准居中)判断用户显示器分辨率,做大屏适配
使用图
2:window.innerWidth / window.innerHeight
属性名:window.innerWidth谐音读音:温豆,因呢 维兹属性名:window.innerHeight谐音读音:温豆,因呢 海特
使用方法:let windo = window.innerWidth
讲解属性作用:获取浏览器可视窗口(视口)的宽高,包含滚动条,不包含浏览器标题栏工具栏。窗口拖拽缩放,数值会跟着变。
使用场景:响应式 JS 判断:窗口小于768px切换移动端逻辑
监听resize窗口大小改变事件,窗口变化重新计算布局
使用图:3:offsetWidth /offsetHeight
属性名:offsetWidth 谐音读音:奥夫赛特 维兹属性名:offsetHeight谐音读音:奥夫赛特 海特
使用方法:let width2 = pop.offsetWidth;
讲解属性作用:获取元素实际渲染的宽高 = width + padding + border;不包含 margin。
使用场景:下拉菜单定位:拿到父盒子实际宽高,让下拉框和父盒子宽度对齐
JS 获取盒子真实大小,做动态布局使用图:
API 读值来源 包含内容 典型场景
screen.availWidth 显示器屏幕 屏幕除去任务栏 基于显示器弹窗居中、判断屏幕分辨率
window.innerWidth 浏览器视口 可视区 + 滚动条 JS 响应式、resize 监听、窗口居中
dom.offsetWidth DOM 元素 width+padding+border 获取盒子渲染大小,下拉浮层定位
3: window 窗口操作
属性名:window.open()谐音读音:温豆 欧喷
使用方法: let 变量名 = window.open()
讲解属性作用:JS 打开新浏览器窗口 / 新标签页,可以控制弹出窗口的宽高、位置。返回新窗口的 window 对象,newwin可以操作新窗口。
使用场景:打印预览、弹出独立预览窗口后台系统弹出子业务窗口
使用图:属性名:window.close()谐音读音:温豆 克楼兹
使用方法:
// 关闭当前页面
window.close()

// 关闭js打开的新窗口
let newwin = window.open(‘./xxx.html’)
newwin.close()

讲解属性作用:关闭浏览器窗口。 限制:JS 只能关闭由 window.open () 脚本打开的窗口;直接地址栏打开的页面,js 不能关闭,浏览器安全限制。
使用场景:子弹窗页面放关闭按钮
预览弹窗看完自动关闭
坑:普通标签页,直接调用window.close()浏览器会阻止,安全策略。
使用图:属性名:moveTo谐音读音:木夫 吐属性名:resizeTo谐音读音:瑞赛兹 吐
使用方法:open返回的值.moveTo(200,100)调整位置使用方法:open返回的值.resizeTo(800,600)控制页面大小
讲解属性作用:
moveTo(x, y):移动浏览器窗口,窗口左上角定位到屏幕坐标 x,yresizeTo(w, h):修改浏览器窗口的宽高
使用场景:后台系统弹出业务小窗口,自动定位 + 设置尺寸弹出预览窗口,统一窗口规格多窗口工具,多个弹窗错开摆放
使用图:

4:location 对象(地址栏 BOM)
1:属性名:location.hostname谐音读音:喽凯深 厚斯特内姆
使用方法console.log(location.hostname)
讲解属性作用:获取域名(主机名),不带端口。
使用场景后台管理系统区分多域名部署,判断当前访问的是哪个站点域名做域名白名单校验,判断用户是不是在指定域名下访问页面埋点统计,上报用户当前访问的网站域名
使用图2:属性名:location.pathname谐音读音:喽凯深 帕斯内姆
使用方法:console.log(location.pathname)
讲解属性作用:获取部分url 路径,域名后面的路径。
使用场景
侧边栏菜单高亮:根据浏览器路径匹配菜单,自动激活当前选中菜单页面路由判断,原生 JS 不使用框架时,根据路径加载不同页面模块
使用图3:属性名: location.port谐音读音:喽凯深 波特
使用方法:console.log(location.port);
讲解属性作用:获取端口号。
使用场景:
本地开发环境区分:本地开发经常用 8080、3000 端口,线上环境端口为空,用来区分本地 / 线上环境拼接完整跳转地址,手动组装 url 的时候需要拿到端口一起拼接
使用图:4:属性名: location.protocol谐音读音:喽凯深 普柔透扣
使用方法:console.log(location.protocol);
讲解属性作用:获取协议 http: 、https:,带冒号。
使用场景:根据不同域名做不同业务逻辑
拼接完整请求地址
使用图:5:属性名:location.href=““谐音读音:喽凯深 艾奇瑞夫
使用方法:location.href=””
讲解属性作用:
读:拿到完整的 url 地址写(赋值):页面跳转,会新增历史记录,可以 back 回退
使用场景:
页面跳转,项目最常用,获取浏览器完整地址,复制链接功能
使用图:
6:属性名:location.assign()谐音读音:喽凯深 呃赛恩
使用方法:location.assign(页面路径)
讲解属性作用:页面跳转,新增一条历史记录,可以history.back()返回上一页。
使用场景:登录页点击登录跳转到首页;用户可以点返回退回到登录页。
使用图:
7:属性名:location.replace()谐音读音:喽凯深 瑞普雷斯
使用方法:location.replace(页面路径)
讲解属性作用:页面跳转,替换当前历史记录,不会新增历史。 跳转之后,不能 back 回到上一页。
使用场景:登录成功跳转首页,404 页面重定向,表单提交成功跳转,禁止退回到提交页
使用图:
两个都可以跳转页面他们的区别是什么
replace 当前页跳转无法通过back返回也无法通过浏览器返回键返回
assign 当前页跳转可以通过back返回也可以通过浏览器返回键返回
5:BOM 对话框
属性名:alert()谐音读音:呃勒特
使用方法:alert(’文字‘)
讲解属性作用:弹出提示框,只有一个【确定】按钮。没有返回值,阻塞代码,点确定之后代码才继续往下执行。
使用场景:
简单错误提示,调试测试用学习阶段练习提示用户信息
使用图:
属性名:confirm()谐音读音:肯佛姆
使用方法:let res = confirm(‘确定要删除吗?’)
讲解属性作用:
弹出弹窗,有【确定】、【取消】两个按钮。
点击确定,返回 true
点击取消,返回 false
使用场景:删除操作前二次确认,用户确认之后才执行删除逻辑。
使用图:
属性名:prompt()谐音读音:普朗普特
使用方法:let inputVal = prompt(‘请输入名字’,‘默认值’)
讲解属性作用:
弹窗,带输入框,有确定、取消按钮。
用户输入内容点确定:返回输入的字符串
用户点取消:返回 null
使用场景:
练习、demo 小案例,获取用户简单输入实际业务几乎不用,样式不能自定义,页面一般自己写 input 表单。
使用图:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/1 23:54:09

删除弹窗组件完整实现:交互 + 健壮性 + 体验全优化

这是你写的删除确认弹窗功能,我直接给你升级成100 分生产可用版!保留你全部原有逻辑,修复所有潜在 bug、增强交互体验、提升代码健壮性,可直接替换你的代码上线使用。 我会给你完整代码 详细博客式讲解,让你直接交作业…

作者头像 李华
网站建设 2026/9/1 23:53:57

深层网络越叠越蠢?10种激活函数原理与PyTorch对比实验

1. 为什么网络越深,反而越蠢很多做深度学习的朋友都遇到过这种怪事:网络层数从 9 层加到 20 层,数据量没变,训练时间翻倍,结果测试准确率反而往下掉。模型不是变得更强,而是变得更“笨”了。如果你去排查代…

作者头像 李华
网站建设 2026/9/1 23:52:19

商业航拍团队提质,《无人机装调维修师》保障项目交付效率

商业广告、影视航拍、活动直播、城市宣传片等需求持续增长,专业航拍团队数量不断增多。航拍项目对交付时效要求极高,设备一旦在拍摄现场出故障,很可能错过最佳拍摄光线、活动档期,造成客户损失与口碑影响。但很多团队重拍摄技术、…

作者头像 李华
网站建设 2026/9/1 23:51:37

视频怎么快速总结?6款AI视频/播客总结工具,长内容快速提炼重点

AI时代,每天要看的视频、课程、访谈和播客越来越多,内容一个比一个长,时间却没有变多。学生党赶着上课复习,考试党还有一堆网课没看,职场人白天开会、晚上还要补行业视频,很多时候不是不想学,而…

作者头像 李华
网站建设 2026/9/1 23:51:11

OpenAI终止Cursor模型授权:控制权变更背后的合规博弈

当一家AI巨头决定切断与开发工具厂商的模型供应,背后往往是商业利益与合规风险的多重考量。事件概述OpenAI于近日正式通知SpaceX,计划于2026年11月12日停止向Cursor提供OpenAI模型服务 [1]。这一决定基于对SpaceX违约历史的担忧——OpenAI表示无法确信Sp…

作者头像 李华