js之BOM

思维导图

在这里插入图片描述

窗口关系

top表示最上层的一个窗口
parent表示当前窗口的父窗口
self表示自身,即window

窗口位置

使用moveTo或者moveBy,其中moveTo指定绝对位置,moveBy指定相对位置(单位为像素)
像素涉及到一个设备像素比devicePixelRatio,即将物理分辨转为逻辑分辨率

窗口大小

浏览器窗口大小使用outerWidth,outerHeight,如果要除去边框,工具栏的窗口大小使用innerWidth, innerHeight
页面视口的窗口的宽高使用document.documentElement.clientWidthdocument.documentElement.clientHeight或者document.body.clientWidthdocument.body.clientHeight
调整窗口大小使用resizeTo或者resizeBy,其中resizeTo指定新窗口的宽度和高度,resizeBy指定宽度和高度要缩放多少

视口位置

用于滚动视图情况下,使用window.pageXoffset/window.scrollXwindow.pageYoffset/window.scrollY
修改视口位置 使用scrollTo或者scrollBy

新建窗口

使用window.open,其中第一个参数是url,第二个参数是窗口名,第三个参数用于设置窗口属性(用逗号分隔)
支持的属性有

属性名值类型说明
fullscreenyes或者no窗口是否最大化
heightnumber窗口高度
widthnumber窗口宽度
locationyes或者no是否显示地址栏
Menubaryes或者no是否显示菜单栏
resizableyes或者no是否可以改变窗口大小
scrollableyes或者no是否可以滚动
statusyes或者no是否显示状态栏
toolbaryes或者no是否显示工具栏
topnumbery轴坐标
leftnumberx轴坐标

其会返回一个指向窗口的引用,其有属性opener表示创建新窗口的创建者
对于有弹窗屏蔽程序时,其返回的窗口引用为null或者会抛出异常

定时器

setTimeout和setInterval的第一个参数为回调函数,第二个参数为超时时间,单位为毫秒
返回值为定时器id,通过clearTimeout或者clearInterval来取消定时任务

对话框

confirm为确认对话框,用于看用户选择是或者否
prompt为提示对话框,用来获取输入信息

location

不仅是DOM的入口 ,也是BOM的一部分,也保存URL解析后的信息

属性说明
hash包含一个 “#” 后跟位置 URL 的片段标识符
host服务器名及端口号
hostname服务器名
port端口号
href一个包含了完整 URL 的 USVString 值
pathnameurl中的路径和文件名
search以问号开头的字符串
protocolhttp
username用户名
password密码
originurl的源地址

reload方法:重新加载URL,默认是从缓存,传true时表示忽略缓存,从服务器加载

navigator

可以用来插件检测
参考navigator
客户端检测时,不能仅仅判断属性是否存在,有时还得使用typeof判断属性的类型
硬件相关属性有

属性说明
oscpu操作系统/系统架构相关信息
vendor开发商信息
platform操作系统信息
hardwareConcurrency逻辑处理器核心数量
deviceMemory设备系统内存大小
maxTouchPoints最大触点数目

电池相关
使用navigator.getBattery()方法返回一个期约,解决值为BatteryManager对象

属性说明
charging是否在充电
charginTime离充满还需要多长时间,单位秒
dischargingTime离耗尽还要多长时间,单位秒
level电量百分比,浮点数

对应的事件属性为

  • onchargingchange
  • onchargingtimechange
  • ondischargingtimechange
  • onlevelchange

在使用window.addEventListener时,事件名前的on需要去掉

连接相关的属性有

属性名说明
downlink下行带宽,整数,单位为Mbit/s
downlinkMax最大下行带宽,整数,单位为Mbit/s
effectiveType表示连接速度和质量, 字符串枚举值,支持的值有slow-2g/2g/3g/4g
rtti往返时间,单位为毫秒
type网络连接技术,字符串枚举值,支持的值有bluetooth/cellular/ethernet/none/mixed/other/unknown/wifi/wimax
saveData是否启用了节流,布尔值
onchange事件处理程序,表示连接状态变化时触发,在使用window.addEventListener时,名称为change

地理位置相关属性有
使用navigator.geolocation,位置信息获取使用navigator.geolocation.getCurrentPosition()方法,返回position对象
position对象中包含一个坐标信息的对象Coordinates,其属性有

属性名说明
altitude海拔高度
altitudeAccuracy海拔高度精度
longitude纬度
latitude纬度
accuracy精度
speed每秒移动速度
heading朝向,相对于北方向移动的角度

screen

属性有

属性名说明
availHeight去除系统组件后的高度
availWidth去除系统组件后的宽度
availTop去除系统组件后的最顶端像素
availLeft去除系统组件后的最左端像素
height屏幕像素高度
width屏幕像素宽度
top屏幕最顶端像素
left屏幕最左端像素
colorDepth屏幕颜色位数,多数是32
pixelDepth屏幕位深

history

控制历史记录使用go,back,forward
go传正数时表示前进,负数表示后退
也可以使用pushstate,replacestate和popstate,popstate时,事件对象有state属性,即pushstate传递时传的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kgduu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值