JavaScript 浏览器对象

本文介绍了BOM浏览器对象模型的基本概念,包括Window、Navigator、Screen、History和Location等核心对象及其方法和属性,展示了如何使用这些对象进行页面跳转、窗口控制及获取浏览器信息。
摘要由CSDN通过智能技术生成

JavaScript 浏览器对象

开发工具与关键技术:Visual Studio 前端

作者:盘子

撰写时间:2019年4月30日

BOM浏览器对象模型,提供了独立于内容的、可以与浏览器窗口进行互动的对象结构,BOM提供了很多对象,包括:Window、Navigator、Screen、History、Location等。其中Window对象为顶层对象,其他对象都为Window对象的子对象。BOM的核心对象是window。

Window对象:

Window 对象表示一个浏览器窗口或一个框架。在客户端 JavaScript 中,Window 对象是全局对象,所有的表达式都在当前的环境中计算。所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。全局变量是 window 对象的属性。全局函数是 window 对象的方法。

Window对象的方法:

alert()显示带有一段消息和一个确认按钮的警示框

confirm()显示带有一段消息以及确认按钮和取消按钮的对话框

window.open()打开一个新的浏览窗口或查找一个已命名的窗口

window.close()关闭当前浏览窗口

window.moveTo() 移动当前窗口

window.resizeTo() 调整当前窗口的尺寸

setInterval() 按照指定的周期(以毫秒计)来调用函数或计算表达式

setTimeout() 在指定的毫秒数后调用函数或计算表达式

其他方法:

moveBy、moveTo、resizeBy、resizeTo、scrollBy、scrollTo、focus、blur等

 下面是Window对象一些方法的使用,案例代码截图图如下:

在这里插入图片描述
做了一个简单的页面跳转,window.open() 、window.close() 打开与关闭一个新的独立的窗口 ,window.history返回浏览过页面,window.location()两个对象方法的返回输出功能。

接下来是BOM浏览器对象模型其它的对象方法、属性简结。

Window尺寸:

有三种方法能够确定浏览器窗口的尺寸(浏览器的视口,不包括工具栏和滚动条)。

对于Internet
Explorer、Chrome、Firefox、Opera 以及 Safari:

window.innerHeight - 浏览器窗口的内部高度

window.innerWidth - 浏览器窗口的内部宽度

对于 Internet
Explorer 8、7、6、5:

document.documentElement.clientHeight

document.documentElement.clientWidth

或者
document.body.clientHeight
document.body.clientWidth

Window Location对象:

Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问
window.location() 对象用于获得当前页面的地址(URL),并把浏览器重定向到新的页面。window.location() 对象在编写时可不使用 window 这个前缀。
location.hostname() 返回 web 主机的域名
location.pathname() 返回当前页面的路径和文件名
location.port() 返回 web 主机的端口(80 或 443)
location.protocol() 返回所使用的 web 协议(http:// 或 https://)
location.href() 属性返回当前页面的 URL。
assign() 加载新的文档
reload() 重新加载当前文档
replace() 用新的文档替换当前文档

Window History对象:

window.history对象记录了用户曾经浏览过的页面(URL),并可以实现浏览器前进与后退相似导航的功能。window.history 对象在编写时可不使用 window 这个前缀。

注意:从窗口被打开的那一刻开始记录,每个浏览器窗口、每个标签页乃至每个框架,都有自己的history对象与特定的window对象关联。

history对象属性:length 返回浏览器历史列表中的URL数量

history对象方法:

方法 描述

back() 加载history列表中的前一个URL

forward() 加载history列表中的下一个URL

go() 加载history列表中的某个具体的页面

返回前一个浏览的页面: 语法: window.history.back();

back()相当于go(-1), 代码如:window.history.go(-1);

返回下一个浏览的页面:

forward()方法,加载 history 列表中的下一个 URL。

如果倒退之后,再想回到倒退之前浏览的页面,则可以使用forward()方法,代码如下:

window.history.forward();

注意:等价点击前进按钮。

forward()相当于go(1),代码如:window.history.go(1);

返回浏览历史中的其他页面:

go()方法,根据当前所处的页面,加载
history 列表中的某个具体的页面。

语法:window.history.go(number);

window.history.go(1); 前一个,等价于forward();

window.history.go(-1); 后一个,等价于back();

window.history.go(3); 返回当前页面之后浏览过的第三个历史页面

为了保护用户隐私,对 JavaScript 访问该对象的方法做出了限制。一些方法:

history.back() - 与在浏览器点击后退按钮相同

history.forward() - 与在浏览器中点击按钮向前相同

Window Navigator对象:

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

window.Navigator对象,包含有关浏览器的信息,通常用于检测浏览器与操作系统的版本。

navigator.appCodeName; 浏览器代码名的字符串表示

navigator.appName; 返回浏览器的名称

navigator.appVersion; 返回浏览器的平台和版本信息

navigator.platform; 返回运行浏览器的操作系统平台

navigator.userAgent; 返回由客户机发送服务器的user-agent头部的值。返回用户代理头的字符串表示(就是包括浏览器版本信息等的字符串)

语法:navigator.userAgent

Window Screen对象:

Screen 对象中存放着有关显示浏览器屏幕的信息,用于获取用户的屏幕信息。

语法:window.screen.

对象属性:

 属性                               描述

window.screen.availHeight; 窗口可以使用的屏幕高度,单位像素

window.screen.availWidth; 窗口可以使用的屏幕宽度,单位像素

window.screen.colorDepth; 返回目标设备或缓冲器上的调色板的比特深度,通常为32位(每像素的位数)

window.screen.pixelDepth; 返回显示器屏幕的颜色分辨率,通常为32位(每像素的位数)(IE不支持此属性)

window.screen.height; 返回显示器屏幕的高度,单位像素

window.screen.width; 返回显示器屏幕的宽度,单位像素

window对象方法open()、close()可以打开与关闭一个新的窗口,history对象方法可以返回倒退之前的浏览页面,location对象方法可以跳转到另一个页面。如下面的效果图所示,点击第一个按钮,页面从原来的jQuery/Window跳转到了绑定页面jQuery/Select页面,并且能够实现该页面所设的功能。打开一个新的独立的窗口里面的功能也能实现,可随意拖动该窗口、调整大小。Location对象方法host()将主机号和当前URL的端口号返回,href()将完整的URL返回(效果如图所示)。下面是实现的效果图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值