和我一起深入了解浏览器对象模型 BOM「二」

303 阅读2分钟

「这是我参与11月更文挑战的第 10 天,活动详情查看:2021最后一次更文挑战

紧接上文,本片介绍 window 对象中的 location, navigator 对象

location 对象

location 是 dom 中最常用的对象之一,供了当前窗口中加载文档的信息,以及通常的导航功能

其中一个独特的点是,它既是 window 对象的属性,也是 document 对象的属性

image.png

.hash

显示 URL 中 # 后面的字符

image.png

.host

返回携带端口号的服务器名,如果默认使用 80 端口,即 url 中不携带端口数据,则直接返回服务器名

image.png

.hostname

返回服务器名,在使用 80 端口的情况下,和 .host 值相等

image.png

.href

当前加载页面的完整 url

image.png

.pathname

返回 url 中的路径和文件名

image.png

.port

返回当前 URL 的端口号,如果不显示指定(强调默认 80 端口省略),会返回空字符 ''

image.png

.protocol

页面使用的协议

image.png

.search

url 中的查询字符串,以 开头以及紧接的后续字符

image.png

navigator 对象

通过 navigator 我们可以得知当前浏览器的相关参数,下面列举我们常用的属性。

.appCodeName

非 Mozilla 浏览器中也会返回"Mozilla"。上古时代的小伎俩,一直留到了现在,传送门 为什么每个浏览器User-Agent都是Mozilla?真相原来是这样!

.appName

返回浏览器的全名

image.png

cookieEnabled

查询浏览器是否启用了缓存

deviceMemory

查询用户设备的内存,以 GB 为单位

userAgent

获取浏览器的用户代理字符串。通常我们可以用来做不同浏览器的适配。在http 的请求头中,默认会有 userAgent 来标识当前的浏览器类型,我们也可以修改这个数据来伪装我们的身份

image.png

language

查询浏览器当前使用的语言,我们可以做国际化适配

image.png

webdriver

当前浏览器是否支持被自动化程序控制