BOM

作者: 噢是珊珊吖 | 来源:发表于2020-04-24 13:15 被阅读0次

    BOM 的核心对象是 window,它表示浏览器的一个实例。

    一、window 对象

    1. 窗口位置

    IE、Safari、Opera 和 Chrome 都提供了 screenLeft 和 screenTop 属性,分别用于表示窗口相对于屏幕左边和上边的位置。

    Firefox 则在 screenX 和 screenY 属性中提供相同的窗口位置信息,Safari 和 Chrome 也同时支持这两个属性。

    2. 窗口大小

    IE9+、Firefox、Safari、Opera 和 Chrome 均为此提供了4个属性:innerWidth、innerHeight、outerWidth、outerHeight。

    outerWidth、outerHeight 返回浏览器窗口本身的尺寸。innerWidth、innerHeight 表示页面视图区的大小(减去边框宽度)。在 Chrome 中,这4个属性返回相同的值,即视口大小而非浏览器窗口大小。

    在 IE、Firefox、Safari、Opera 和 Chrome 中,document.documentElement.clientWidth 和document.documentElement.clientHeight 中保存了页面视口的信息。

    3. 导航和打开窗口

    window.open(),这个方法会返回一个指向新窗口的引用。

    4. 间歇调用和超时调用

    超时调用需要使用 window 对象的 setTimeout() 方法,它接收两个参数:要执行的代码和以毫秒表示的时间(即在执行代码前需要等待多少毫秒)。调用 setTimeout() 之后,该方法会返回一个数值 ID,表示超时调用。要取消尚未执行的超时调用计划,可以调用 clearTimeout() 方法并将相应的超时调用 ID 作为参数传递给它。

    间歇调用与超时调用类似,只不过它会按照指定的时间间隔重复执行代码,直至间歇调用被取消或者页面被卸载。设置间歇调用的方法是 setInterval(),它接收的参数与 setTimeout() 相同。要取消尚未执行的间歇调用,可以使用 clearInterval() 方法并传入相应的间歇调用 ID。

    一般认为,使用超时调用来模拟间歇调用的是一种最佳模式。在开发环境下,很少使用真正的间歇调用,原因是后一个间歇调用可能会在前一个间歇调用结束之前启动。最好不要使用间歇调用。

    5. 系统对话框

    alert()、confirm()、prompt()

    二、location 对象

    location 是最有用的 BOM 对象之一,它提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能。它既是 window 对象的属性,也是 document 对象的属性;换句话说,window.location 和 document.location 引用的是同一个对象。

    location的所有属性:hash、host、hostname、href、pathname、port、protocol、search。

    位置操作

    assign() 方法。location.assign("http://www.wrox.com");

    如果是将 location.href 或 window.location 设置为一个 URL 值,也会以该值调用 assign() 方法。例如,下列两行代码与显式调用 assign() 方法效果完全一样。

    location.href = "http://www.wrox.com";

    window.location = "http://www.wrox.com";

    最常用的是 location.href 。

    replace() 方法、reload() 方法

    三、navigator 对象

    四、screen 对象

    五、history 对象

    go()、back()、forward()

    相关文章

      网友评论

          本文标题:BOM

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