7.BOM模型
一、什么是BOM?
BOM(Browser Object Model),即浏览器对象模型。可以对浏览器窗口进行访问和操作。使用 BOM,可以移动窗口、改变状态栏中的文本以及执行其他与页面内容不直接相关的动作。
BOM缺乏标准化,JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C,BOM最初是Netscape浏览器标准的一部分。
BOM由一系列相关的对象(Window\Navigator\Screen\History\Location)构成,并且每个对象都提供了很多方法与属性。核心对象是window,因为BOM主要与浏览器窗口进行交互。
二、BOM内容
三、window对象
3.1 常用属性和方法:
- window.innerHeight 查看浏览器窗口的内部高度
- window.innerWidth 查看浏览器窗口的内部高度
-
alert(message):弹出一个带确认按钮和显示消息的弹出框,
-
confirm(message):显示带有一段消息以及确认按钮和取消按钮的对话框,点击确定返回True,点击取消返回false,
var m = confirm("你知道BOM吗?");
-
prompt('message', defaultValue): 显示可提示用户输入的对话框,
var pro = prompt('username',123);
-
print():打印当前窗口的内容,
-
find():
-
opne()
window.open(url, target, param) /* 参数解释: url:要打开的地址链接 target:新窗口的位置。可以是_blank、_self param:新窗口的一些设置 返回值:新窗口的句柄 */
四、location对象
location对象包含有关当前URL的信息。
location对象是window对象的一部分,可以通过window.location属性来访问。
location对象的部分属性和方法:
属性 | 描述 |
---|---|
hash | 设置或返回从井号 (#) 开始的 URL(锚)。 |
host | 设置或返回主机名和当前 URL 的端口号。 |
hostname | 设置或返回当前 URL 的主机名。 |
href | 设置或返回完整的 URL。 |
pathname | 设置或返回当前 URL 的路径部分。 |
port | 设置或返回当前 URL 的端口号。 |
portocol | 设置或返回当前 URL 的协议。 |
search | 设置或返回从问号 (?) 开始的 URL(查询部分)。 |
方法 | 描述 |
assign() | 加载新页面 |
reload() | 重新加载当前页面(刷新) |
replace() | 用新的页面替换当前页面 |
location.href='URL' 跳转到指定页面
五、navigator、Screen、和History对象
Navigator对象包含有关浏览器的信息。
// 返回浏览器的用户设备信息
console.log(window.navigator.userAgent);
Screen 对象包含有关客户端显示屏幕的信息。
History 对象包含用户(在浏览器窗口中)访问过的 URL。
History 对象是 window 对象的一部分,可通过 window.history 属性对其进行访问。
六、计时语句
6.1 setTimeout()
在一定时间间隔之后执行某些代码,
var t = setTimeout('js语句', time)
上述的js语句会被直接执行,所以一般写一个函数,返回值t是浏览器自动分配的一个id,time的单位是毫秒。
var t = setTimeout(function(){js语句},time)
clearTimeout(t) 清除计时器
6.2 setInterval()
每隔一段时间执行某段代码,参数和setTimeout()的一样
清除用clearInterval(t)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗