BOM

2018-01-02  本文已影响0人  梨啊梨

BOM提供了很多对象,用于访问浏览器的功能。

window对象

BOM的核心对象是window,他表示浏览器的一个实例,它既是通过JavaScript访问浏览器窗口的一个接口,又是ECMAscript规定的Global对象。意味着在网页上定义的任何一个对象、变量和函数,都以window作为其Global对象。

全局作用域

在全局作用域中声明的变量、函数都会变成window对象的属性和方法

尝试访问未声明的变量会抛出错误,但是用window对象可以知道摸一个未声明的变量是否存在

比如:   var a=window.b(b未声明)

窗口位置

跨浏览器取得窗口左边和上边的位置。

导航和打开窗口

使用window.open()方法可以导航到一个特定的URL,也可以打开一个新的浏览器窗口。他可以接受4个参数,要加载的URL、窗口目标、一个特性字符串和一个新页面是否取代浏览器历史记录。

特性字符串:主要是设置窗口的一些属性。比如窗口的大小,位置,窗口显示工具栏等等,不允许出现空格

close():关闭新窗口,仅适用于用windo.open方法打开的窗口

新创建的window对象都有一个opener属性,他保存着打开他的原始窗口的对象。如果不希望新的窗口与之前的窗口保持通信,只需要  opener=null

弹出窗口屏蔽程序

大多数浏览器内置有弹出窗口屏蔽程序。

如果是内置屏蔽程序屏蔽屏蔽掉的,则window.open返回的是null,其他插件屏蔽掉的返回的是异常错误。

var a=window.open(xxxx);

if( a==null){ } 即可。

用try,catch来检查是不是插件搞的鬼。

超时调用

setTimeout与clearTimeout

执行setTImeout方法之后,会返回一个ID,表示计时器,可以用这个id来关闭计时器。

setTimeout方法只执行一次。

clearTimeout()则是关闭计时器。

setInterval和clearInterval

setInterval每隔一段时间执行一次,可以执行多次

系统对话框

通过alert、confirm和prompt方法调用系统对话框。他与浏览器中显示的网页没有关系。

confirm():会跳出一段文本,而且有确定和取消按钮

点击确定返回的事件与取消

prompt():他是一个提示框,用于提示用户输入一些文本,除了ok和cancel之外,还有一个输入的文本域


location对象(位置)

他是一个特别的对象,既是window对象,又是document对象

location.href:加载一个页面

location.port:返回端口号

location.host:返回服务器名称和端口号

location.protocol:返回页面使用的协议,通常是http或https

location.reload:重新加载

还有很多方法。每次修改location属性,页面都会以新的URL重新加载(hash除外)

screen对象

主要是显示器的一些信息,比如屏幕宽度、高度、像素这些,这个对象用的不多。

history对象

history对象保存着用户上网的历史记录。

history.go(x):当x为负数时,浏览器后退x,x为正数时,x前进x,还可以传入字符串,此时浏览器会跳转到历史记录中包含该字符串的第一个位置。

还可以用back()和forward(),后退与前进一个。相当于go(-1)和go(1)

他还有个length属性,表示保存的历史记录的数量。

上一篇下一篇

猜你喜欢

热点阅读