什么是BOM
BOM即浏览器对象模型
BOM提供了独立于内容,而与浏览器窗口进行交互对象
由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window;
BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性
BOM缺乏标准,javascript语法的标准化组织是ECMA,DOM的变准话组织W3C,BOM最初是Netscaoe浏览器标准的一部分。
学习BOM学什么
我们将学到与浏览器窗口交互的一些对象,例如可以移动、调整浏览器大小的window对象,可以用于导航的location对象与history对象,可以获取浏览器、操作系统与用户屏幕信息的navigator与screen对象,可以使用doucment作为访问HTML文档的入口。下面是BOM结构图。
history
history对象保存着用户上网的历史记录,在窗口打开的那一刻算起。因为history是window对象所以每个浏览器窗口都有自己的history对象与特定的window对象关联。
history.go(1) 前进一页
history.go(-2) 后退两页
//也可以换成下面
history.forward() // 前进一页
history。back() //后退一页
location
它提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能,它既是window对象也是doucumen对象,下面有loaction对象的所有属性。
//location属性
hash:返回URL中的hash,如果URL中的不包含散列,则返回空字符串
host:返回服务器名称和端口号
hostname:返回不带端口号的服务器名称
href:返回当前加载页面的完整URL。而location对象的toString方法也返回这个值
prot:返回URL中指定的端口号。如果URL中不包含端口号,则这个属性返回空字符串
protocol:返回页面使用协议。通常是http或https
search:返回URL的查询字符串。这个字符串以问号开头
//location位置操作
location.href = '网址' //刷新当前页面跳转到新的网址 <a href="网址"></a>
location.replace('网址') //跳转但不会在历史记录中生成新纪录
location.reload() //刷新当前页面
window.open('网址') //会新建一个窗口打开页面<a href="网址" target='_blank'></a>
navigator
最早由netscape navigator 2.0引入的navigator对象,现在已经成为识别新客户端浏览器的事实标准,下面是它的属性。
systemLanguage:操作系统的语言
userAgent:浏览器的用户代理字符串
userLanguage:操作系统的默认语言
userProfile:借一访问用户个人信息的对象
vendor:浏览器的品牌
vendorSub:有关供应商的次要信息
screen对象
javascript中有几个对象在变成中用处不大,而screen对象就是其中之一。screen对象基本上只用来表明客户端的能力,其中包括浏览器窗口外部显示器的信息,如像素宽度和高度。
screen.height //屏幕的像素高度
screen.width //屏幕的像素宽度
//等等还有很多属性但是有的属性不怎么兼容就不给你大家一一列出来了
系统对话框
alert() :对话框
confirm():警告框
prompt() :对话框
alert('2019年第一天')
confirm('今天是2019年第一天么?')
prompt('今天是2019年第一天么?')