BOM

作者: 梨啊梨 | 来源:发表于2018-01-02 18:07 被阅读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属性,表示保存的历史记录的数量。

    相关文章

      网友评论

          本文标题:BOM

          本文链接:https://www.haomeiwen.com/subject/ibnzgxtx.html