您的位置:首页 > 其它

BOM(浏览器对象模型)

2018-10-11 11:40 323 查看

1.window对象

表示浏览器的一个实例,在浏览器中,window对象有双重角色,它既是通过JavaScript访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象。

在网页中定义的任何一个对象,变量和函数,都以window作为其Global对象,因此有权访问parseInt()等方法。

(1)全局作用域

 由于window对象是ECMAScript规定的Global对象,因此在全局作用域中声明的所有变量、函数都会变成window对象的属性和方法。

var age = 29;

function sayAge(){

  alert(this.age);

}

alert(window.age); // 29

sayAge();  // 29

window.sayAge(); // 29

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

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

 

window对象常用属性和方法:

属性:

window.self 返回当前窗口的引用

window.parent   返回当前窗体的父窗体对象

window.top 返回当前窗体最顶层的父窗体的引用

window.outerwidth       返回当前窗口的外部宽

window.outerheight  返回当前窗口的外部高

window.innerwidth       返回当前窗口的可显示区域宽

window.innerheight  返回当前窗口的可显示区域高

方法:

window.prompt()   弹出一个输入提示框,若用户点击了“取消”则返回null

window.alert()    弹出一个警告框

window.confirm()  弹出一个确认框

window.close()  关闭当前浏览器窗口。 有些浏览器对此方法有限制。

window.open(uri, [name], [features])  打开一个浏览器窗口,显示指定的网页。name属性值可以是“_blank”、“_self”、“_parent”、“_top”、任意指定的一个窗口名。

window.blur( )      指定当前窗口失去焦点

window.focus( ) 指定当前窗口获得焦点

 

2.location对象

提供了与当前窗口中加载的文档有关的信息

既是window对象的属性,又是document对象的属性

location.search放回从问号到URL末尾的所有内容

(1)位置操作

假设初始URL为 http://www.wrox.com/WileyCDA/

// 将URL修改为 "http://www.wrox.com/WileyCDA/#section1"

location.hash = "#section1";

// 将URL修改为 "http://www.wrox.com/WileyCDA/?q=javascript"

location.search = "?q=javascript";

// 将URL修改为 "http://www.yahoo.com/WileyCDA/"

location.hostname = "www.yahoo.com";

// 将URL修改为 "http://www.yahoo.com/mydir/"

location.pathname = "mydir";

// 将URL修改为 "http://www.yahoo.com:8080/WileyCDA/"

location.port = 8080;

每次修改location的属性,页面都会以新的URL重新加载;hash除外

上述修改URL后,浏览器的历史记录每次会生成一条新纪录,可以后退到前一个页面

要禁用这种方法,可以使用replace()。只接收一个参数,即要导航到的URL,不会在浏览器中生成新记录,也不能回退

location.replace("http://www.yahoo.com/");

reload()方法,重新加载显示当前页面

location.reload() // 重新加载(可能从缓存中加载);

location.reload(true);

 

3.navigator对象

提供了浏览器有关的信息

4.history对象

保存着用户上网的历史记录

出于安全考虑,开发者无法得知用户浏览过的URL

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

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

history.go(2);  // 前进两页

history.back();   //后退一页

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: