JavaScript浏览器对象模型(BOM)

1 window对象

既是通过JS访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象。

1.1 全局作用域

全局变量不能通过delete删除,但是直接在window对象上的定义的属性可以

var age = 29;
window.color = "red";

delete window.age;   // 在IE<9时抛出错误,其他浏览器中返回false
delete window.color; // 在IE<9时抛出错误,其他浏览器中返回true

alert(window.age);   // 29
alert(window.color); // undefined

因为使用var语句添加的window属性有一个名为[[Configurable]]的特性,这个特性的指被设置为false,所以不能通过delete来删除。

* 尝试访问未声明的变量会抛出错误,但是通过window可以查询变量是否存在

1.2 窗口关系及框架(从来没有这样用过,一般都用jquery或者别的框架搞定)

1.3 窗口位置(同上)

1.4 窗口大小(同上)

1.5 导航和打开窗口

window.open() - 四个参数:要加载的URL,窗口目标, 一个特性字符串以及一个表示新页面是否取代浏览器当前加载页面的布尔值。

* 被屏蔽时的处理

var blocked = false;
try {
    var wroxWin = window.open("", "_blank");
    if(wroxWin == null) {
        blocked = true;
    }
}
catch(ex) {
    blocked = true;
}

if(blocked) {
    alert("The popup was blocked!");
}

1.6 间歇调用和超时调用

不建议以字符串作为第一个参数

第二个参数的定义是:告诉JS多长时间后将当前任务添加到队列中,而不是执行。

* 在严格模式下,this是undefined。

1.7 系统对话框(alert, confirm, prompt)

2 location对象

提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能。window.location和document.location引用了同一个对象。

2.1 查询字符串参数

2.2 位置操作

3 Navigator对象

3.1 检测插件

3.2 处理注册程序

4 Screen对象

5. history对象

//后退一页
history.go(-1);
history.back();

//前进一页
history.go(1);
history.forward();

//跳转到最近的wrox.com页面
history.go("wrox.com")

猜你喜欢

转载自www.cnblogs.com/easybreezy/p/9175674.html