码迷,mamicode.com
首页 > 其他好文 > 详细

BOM

时间:2015-02-09 15:46:49      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

BOM(即浏览器对象模型)是一个用于访问浏览器和计算机屏幕的对象集合。我们可以通过全局对象window和window.screen来访问这些对象。

window对象

在JavaScript中,每个宿主环境都有一个全局对象。具体到浏览器环境中,这就是window对象了。环境中所有的全局变量实际上都是该对象的属性。同样的,所有的JavaScript核心函数也都是window对象的方法。

技术分享

window.navigator

navigator是一个用于反映浏览器本身及其功能信息的对象。例如其中的navigator.userAgent是一个用于浏览器识别的长字符串。

技术分享

由于各种浏览器的功能是各不相同的,开发人员需要根据userAgent字符串来识别不同的浏览器,并提供不同版本的代码。这种字符串很难追踪到所有的浏览器以及其各种版本。所以,直接检测我们使用的功能在浏览器中是否存在要简单的多,例如:

if(typeof window.addEventListener === ‘function‘){

}else{

}

另外,还有一个原因也促使我们避免使用userAgent检测浏览器,即在某些浏览器中,用户是可以对该字符串进行修改,并将其伪装成其他浏览器

window.location

location属性石一个用于存储当前载入页面的URL信息的对象。例如,其中的location.href显示的是完整的URL,而location.hostname则只显示相关的域名信息。下面,我们通过一个简单的循环列出location对象的完整属性列表。

技术分享

另外,location对象还提供了三个方法,分别是reload()、assign()和replace()。需要注意的是页面导航存在着许多不同的方式,下面列出的只是其中一小部分。

window.location.href="http://www.baidu.com/";
location.href="http://www.baidu.com/";
location="http://www.baidu.com/";
location.assign(‘http://www.baidu.com/‘);

replace()方法的作用与assign基本相同,只不过它不会再浏览器的历史表中留下痕迹:

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

另外,如果我们想重新载入某个页面,可以调用:

location.reload()

或者,也可以让location.href属性指向自己:

window.location.href=window.location.href;
location=location;

window.history

history属性允许我们在同一个浏览器会话中存储有限数量的访问记录。例如,我们可以通过以下方式来查看用户可在这之前访问了多少页面:

window.history.length

但是这种访问是受限制的,例如像下面这样访问是不被允许的:

技术分享

但是我们可以在当前用户会话中对个页面进行来回切换,就像在浏览器中单击后退/前进按钮一样:

history.forward()
history.back()

另外,我们也可以用history.go()来实现页面跳转:

history.go(0);//重载当前页

 

BOM

标签:

原文地址:http://www.cnblogs.com/zhongxinWang/p/4281506.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!