- BOM简介
- Constructors
- 属性
- Window.console">Window.console
- Window.devicePixelRatio">Window.devicePixelRatio
- Window.document">Window.document
- Window.frameElement">Window.frameElement
- Window.frames">Window.frames
- Window.fullScreen">Window.fullScreen
- Window.history">Window.history
- Window.innerHeight">Window.innerHeight
- Window.innerWidth">Window.innerWidth
- Window.length">Window.length
- Window.location">Window.location
- Window.localStorage">Window.localStorage
- Window.name">Window.name
- Window.navigator">Window.navigator
- Window.opener">Window.opener
- Window.parent">Window.parent
- Window.performance">Window.performance
- 方法
- Window.alert()">Window.alert()
- Window.close()">Window.close()
- Window.confirm()">Window.confirm()
- Window.getComputedStyle()">Window.getComputedStyle()
- Window.getSelection()">Window.getSelection()
- Window.open()">Window.open()
- Window.postMessage()">Window.postMessage()
- Window.print()">Window.print()
- Window.requestAnimationFrame()">Window.requestAnimationFrame()
- Window.scrollTo()">Window.scrollTo()
- 参考
BOM简介
BOM 即浏览器对象模型(Browser Object Model),指的是Web浏览器暴露的所有对象组成的表示模型。既没有标准的实现,也没有严格的定义,浏览器厂商可以自由的实现BOM。因此一些浏览器的独立API并不互相支持。
作为显示文档的窗口, 浏览器程序将其视为对象的分层集合。当浏览器分析文档时, 它将创建一个对象的集合, 以定义文档, 并详细说明它应如何显示。浏览器创建的对象称为文档对象。它是浏览器使用的更大的对象集合的一部分。此浏览器对象集合统称为浏览器对象模型或BOM。
BOM层次结构的顶层是窗口对象window, 它包含有关显示文档的窗口的信息。某些窗口对象本身就是描述文档和相关信息的对象。
下面列出一些常用的属性和方法,事件相关请查看MDN。
Constructors
Image
var htmlImageElement = new Image(width, height);
Options
var optionElementReference = new Option(text, value, defaultSelected, selected);
Worker
var myWorker = new Worker('worker.js');
属性
Window.console
Window.devicePixelRatio
返回当前显示器的物理像素和设备独立像素的比例。这个值的改变不会触发任何回调函数或者被其他事件监听(例如,如果你拖动窗口使其在不同屏幕密度的显示器上显示)
Window.document
Window.frameElement
返回嵌入当前window
对象的元素(比如 <iframe>
或者 <object>
),如果当前window
对象已经是顶层窗口,则返回null
.
var frameEl = window.frameElement;
// 如果当前窗口被包含在一个框架里面,则将该框架的地址跳到'http://mozilla.org/'
if (frameEl)
frameEl.src = 'http://mozilla.org/';
Window.frames
返回当前窗口,一个类数组对象,列出了当前窗口的所有直接子窗口
frameList = window.frames;
- frameList是一个frame对象的集合,它类似一个数组,有length属性且可以使用索引([i])来访问。
frameList === window
计算结果为true。- 在window.frames类数组中的每一项都代表了窗口对应给定对象的或
Window.fullScreen
这个属性表明了窗口是否处于全屏模式下。
在取得chrome privileges的情况下,这个属性是可读写的,否则将是只读属性。如果你试图在未取得chrome privileges的情况下设置这个属性,虽然实际上修改会失败,却并不会抛出错误。这是为了阻止在IE浏览器中意图通过修改这个属性而进行恶意攻击的脚本。
值为true,窗口处于全屏模式下。值为false,窗口不处于全屏模式下。
Window.history
获取History
对象的引用,History
对象提供了操作浏览器会话历史(浏览器地址栏中访问的页面,以及当前页面中通过框架加载的页面)的接口。
History
back()、forward()、go()、length
pushState()、 replaceState()、state、window.onpopstate
Window.innerHeight
浏览器窗口的视口(viewport)高度(以像素为单位);如果有水平滚动条,也包括滚动条高度。
Window.innerWidth
获得浏览器窗口的内容区域的宽度,包含垂直滚动条(如果有的话)。
Window.length
返回窗口中的 frames 数量。参见 window.frames
。
Window.location
获取、设置 window 对象的 location, 或者当前的 URL。
Window.localStorage
返回用来存储只能在创建它的源下访问的数据的本地存储对象的引用
Window.name
获取/设置窗口的名称。
Window.navigator
返回对 navigator 对象的引用。
Window.opener
返回对打开当前窗口的那个窗口的引用。
Window.parent
返回当前窗口或子窗口的父窗口的引用。
Window.performance
返回Performance对象,可获取当前页面性能相关的信息。
方法
Window.alert()
Window.close()
关闭当前窗口。
Window.confirm()
显示一个具有一个可选消息和两个按钮(确定和取消)的模态对话框 。
Window.getComputedStyle()
返回一个包含元素的所有CSS属性的值对的对象。
let style = window.getComputedStyle(element, [pseudoElt]);
Window.getSelection()
返回一个 Selection
对象,表示用户选择的文本范围或光标的当前位置。
Window.open()
打开一个新窗口。
Window.postMessage()
安全的实现跨域通信。
Window.print()
打开打印对话框打印当前文档。
Window.requestAnimationFrame()
要求浏览器在下次重绘之前调用指定的回调函数更新动画。
Window.scrollTo()
滚动到文档中的某个坐标。