前言
我觉得前端中最难的不是业务逻辑,而是API太多,知道的太少。
BOM是什么?
BOM是Browser Object Model的缩写,即浏览器对象模型。浏览器对象模型提供了可以与浏览器窗口进行互动的对象结构。
BOM由多个对象组成,其中代表浏览器窗口的Window对象是BOM的顶层对象,其他对象都是该对象的子对象。
BOM提供了一些访问窗口对象的一些方法,我们可以用它来移动窗口位置,改变窗口大小,打开新窗口和关闭窗口,弹出对话框,进行导航以及获取客户的一些信息如:浏览器品牌版本,屏幕分辨率。
DOM和BOM?
1,BOM是浏览器对象模型,DOM是文档对象模型。
2,BOM关注的是浏览器本身的操作,DOM关注的是文档。
3,他们提供的API都包含在Window对象中。
4,DOM是由W3C推行的,BOM没有相关标准,不同浏览器定义有差别。
widow对象中BOM操作相关的四大属性
location
对浏览器地址栏,和URL的操作
reload():重新加载当前页面(刷新嘛)
assign(url):浏览器地址复上新的地址并载入
replace():同上
hash:获取当前url#后面的字符串,如果没有就返回空字符串
herf:指定地址栏的新地址并载入
hostname :返回web主机域名
pathname:返回当前页面路径和文件名
port:返回web主机的端口
protocol:返回使用的web协议(http:// 或 https://)
history
相当于操作浏览器前进后后退按钮
back:向后退一页
forward:向前进一页
go():根据参数做不同操作,0/空刷新页面,-1退一页,1前进一页,2前进两页
length:返回历史列表中的网址数。
screen
获取屏幕像宽高
availHeight:屏幕的高度像素减去系统部件高度之后的值
availWidth:屏幕的宽度像素减去系统部件宽度后的值
height:屏幕像素的高度
width:屏幕像素的宽度
navigator
浏览器信息查询
userAgent:返回由客户机发送服务器的userAgent。
appName:返回浏览器名称。
appVersion:返回浏览器平台和版本信息。
platform:返回运行浏览器的操作系统平台。
window中常用的浏览器相关操作
open(targetUrl,pageName,"height=400,width=400,top=10,left=10"):打开一张新的网页
close():关闭。
innerHeight:浏览器窗口的内部高度(兼容所有浏览器)—包含滚动条
innerWidth:浏览器窗口的内部宽度(兼容所有浏览器)
outerWidth :整个浏览器宽度
outerHeight :整个浏览器高度度