BOM模型
一、概念
BOM(browser object model)浏览器对象模型,以顶级对象window衍生出来的一套模型。浏览器页面初始化时,会在内存创建一个全局对象,用来描述当前窗口的属性和状态,这个全局对象被称为浏览器对象模型。
BOM模型的作用:将相关的元素组织包装起来,提供给程序设计人员使用,从而减少开发人员的工作量,提高设计Web页面的效率。
BOM可实现:弹出新的浏览器,移动、关闭浏览器窗口以及调整窗口的大小,页面的前进、后退。
二、BOM模型对象
1.window对象
window对象也是BOM的顶级对象,所有浏览器都支持window对象,它代表的是浏览器的窗口。
window对象是其它大部分对象的共同祖先,在调用window对象的方法和属性时,可以省略window对象的引用。例如:window.document.write()可以简写成: document.write()
window对象包含了6大核心模块,分别是:
- document对象,即文档对象
- frames,即HTML自框架
- history,即页面的历史记录
- location,即当前页面的地址
- navigator,包含浏览器相关信息
- screen,用户显示屏幕相关属性
(1)常用属性
名称 | 说明 |
---|---|
closed | 返回窗口是否已被关闭 |
location | 获取当前页面的url地址 |
history | 有关客户访问过的url地址 |
opener | 返回对创建此窗口的窗口的引用 |
parent | 返回父窗口 |
self | 返回对当前窗口的引用 |
frames | 返回窗口中所有命名的框架(该集合是window对象的数组,每个window对象在窗口中含有一个框架。) |
status | 设置窗口状态栏的文本 |
注意:opener和parent都可以给子窗口传递参数。不同点:opener用于超链接。而且打开的这个超链接必须要有父子关系,如果不是通过超链接打开,向父窗口传递参数时,会传不过去。
parent用于iframe框架。
部分展示
1.window.status
window.defaultStatus = new Date().toLocaleString()
window.status = "hahhahah"
2.window.opener(超链接)
3.winndow.parent(iframe框架)
<script>
function fun(){
//1. 获取文本框的内容
var v = document.getElementById("name").value ;
//2. 获取子窗口的window对象
var w = self.frames[0];
//3. 获取子窗口中文本框对象
var input = w.document.getElementById("name") ;
//4.设置文本框的内容
input.value = v ;
}
</script>
<body>
<input id = "name" >
<button onclick="fun()">传递参数到iframe中</button><br>
<iframe src = "b.html" width = 300 height = 400 ></iframe></