BOM速览-浏览器对象模型

浏览器对象模型BOM

1.浏览器对象模型

BOM(Browser Object Model)是指浏览器对象模型,浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。Bom由多个对象组成,其中代表浏览器窗口的Window对象是BOM的顶层对象,其他对象都是该对象的子对象。

2.组成

浏览器对象模型有包括以下几个组成部分

  1. 窗口对象window
  2. 浏览器对象navigator
  3. 历史对象history
  4. 位置对象location
  5. 文档对象document

3.窗口对象window

是javascript中最大的对象。它描述的是一个浏览器窗口

performance

window下新加入了performance对象现在点开f12你应该就能找到他哪怕你用的是ie;这个对象主要是用来监控测试网页的性能数据,都是只读属性,有兴趣可以google.

4.window对象的属性

window对象的属性比下表列举要多,这里只是常用的一些位置属性,诸如closed\defaultStatus\top\name\length等其他属性感兴趣可以戳一下w3c或者mdn了解下。

属性描述
innerHeight返回窗口的文档显示区的高度
innerWidth返回窗口的文档显示区的宽度
outerHeight返回窗口的外部高度
outWidth返回窗口的外部宽度
pageXoffset返回文档在窗口左上角水平方向滚动的像素。
pageYoffset返回文档在窗口左上角垂直方向滚动的像素。
screenLeft返回窗口相对于屏幕的X坐标。
screenTop返回窗口相对于屏幕的Y坐标。

说道位置就说变吧珍藏的图贴出来,也搞了好几年了,每次获取位置的时候还是习惯看着图找属性;
在这里插入图片描述

5.window对象的方法

同样的window对象的方法也仅列举部分,如计时器部分单独拎出去说了,常用的部分火种;

方法描述
open()打开一个新的浏览器窗口或查找一个已命名的窗口
print()打印当前窗口的内容。
alert()显示带有一段消息和一个确认按钮的警告框
confirm()显示带有一段消息以及确认按钮和取消按钮的对话框。
prompt()显示可提示用户输入的对话框。
scrollTo()把内容滚动到指定的坐标。

5.1 window对象的open()方法

定义和用法
Open()方法用于打开一个新的浏览器窗口或查找一个已命名的窗口。
语法

	Window.open(URL,name)

参数 描述
URL 一个可选的字符串,申明了要在新窗口中显示的文档的URL,如果省略了这个参数,或者他的值是空字符串,那么新窗口就不会显示任何文档。
name 该字符生命了新窗口的名称

5.2 window对象的print()方法

定义和用法
print()方法用于打印当前窗口的内容。
语法

	window.print();

结合open,print方法,我曾做过一个打印简历的个人主页;本想放个图,估计过期了直接500甩我脸上了;大致就是通过html2excel或者2pdf生成份电子版简历在新窗口打开,然后直接调用print方法去进行快速打印;

5.3 window对象的confirm()方法

定义和用法
confirm()方法用于显示带有一段消息以及确认按钮和取消按钮的对话框。
语法

	confirm(message);

说明
如果用户点击确定按钮,则confirm()返回true,如果点击取消按钮,则返回false
Message:要在window上弹出的文本
实例

	var k=confirm('确认提交?');
	if(k){
		console.log('确定了');
	}
	else{
		console.log('取消了');
	}

5.4window对象的prompt()方法

定义和用法
Prompt()方法用于显示可提示用户进行输入的对话框
语法

	prompt(text,defaultText)

说明
如果用户单击提示框的取消按钮,则返回null。如果用户单击确认按钮,则返回输入字段当前显示的文本。
参数 描述
text 可选,要在对话框中显示的纯文本(而不是HTML格式的文本)
defaultText 可选,默认的输入文本
实例

	var open_btn=document.getElementById("prompt");
	open_btn.onclick=function(){
			var name=prompt("配送地址");
			console.log("你的地址是:"+name);
	}

这里的几个方法要用最好也就管理后台之类图省事的地方,要是toC这么搞怕是要被打死;

5.5window对象的scrollTo()方法

定义和用法
ScrollTo()方法可以把内容滚动到指定的坐标。
语法

	scrollTo(xpos,ypos)

Xpos:必须,要在窗口文档显示区左上角在页面中的x坐标。
Ypos:必须,要在窗口文档显示区左上角在页面中的y坐标。
实例

	var open_btn=document.getElementById("scrollTo");
	open_btn.onclick=function(){
			scrollTo(0,1200);
	}

这个最常见与返回顶部,应该不用多说了吧;

6.浏览器对象Navigator

Navigator对象描述
Navigator对象包含的属性描述了正在使用浏览器。可以使用这些属性进行平台专用的配置。
Navigator对象的实例是唯一的,可以用Window对象的navigator属性来引用他
navigator对象最常用的地方就是做信息采集,例如在用户点开门户后先进行判断,看用户浏览器是否支持开发所有的api,运营团队通常都会取用用户来源使用OS等信息,做国际化也会获取语言进行跳转;

Navigator的属性

属性描述
appCodeName返回浏览器的代码名
appName返回浏览器的名称
appMinorVersion返回浏览器的次级版本。
appVersion返回浏览器的平台和版本信息
browserLanguage返回当前浏览器的语言。
cookieEnabled返回指明浏览器中上是否启用cookie的布尔值
platform返回运行浏览器的操作系统平台
userAgent返回由客户机发送服务器的user-agent头部的值

7.History对象

History对象包含用户(在浏览器窗口中)访问URL
History对象是window对象的一部分,可通过window.history属性对其进行访问

History对象属性
length:返回浏览器列表中的URL数量。

方法描述
back()加载history列表中的前一个URL
forward()加载history列表中的下一个URL
go()加载history列表中方的某个具体页面

8.Location对象

Location对象包含有关当前URL的信息
通过Location对象可以访问当前文档的url的各个不同部分。
Location对象是Window对象的一个部分,可通过window.location属性来访问。
URL简介
可以由,协议、域名或ip、端口、虚拟路径、文件名、参数及锚点7个部分组成。

http://blog.csdn.net:80/I1326/6946.html/?id=2&key=1#p=3完整链接
http:协议
blog.csdn.net域名
:80端口号
/I1326/虚拟路径
6946.html文件名
?id=2&key=1参数
#p=3锚点

Location对象属性

属性描述
hash设置或返回从井号(#)开始的URL(锚)
host设置或返回主机名和当前URL的端口号
hostname设置或返回当前URL的主机名
href设置或返回完整的URL
pathname设置或返回设置或返回当前URL的路径部分
prot设置或返回设置或返回当前URL的端口号
protocol设置或返回设置或返回当前URL的协议
search设置或返回从问好(?)

8.1Href属性

定义和用法
Href属性是一个可读可写的字符串,可设置或返回当前显示的文档的完整URL。因此,我们可以通过为该属性设置新的URL,使浏览器读取并显示新的URL的内容。
语法

	location.href=URL//设置;;会立即跳转到url的页面	
	var myUrl=location.href;//获取;;

实例

	location.href="www.baidu.com";//立即刷新当前页面到百度
	console.log(location.href);
	//打印当前页面完整地址

8.2Hash属性

定义和用法
Hash属性是一个可读可写的字符串,该字符串是URL的锚部分(从#号开始的部分)
语法

	location.hash=anchorname;//设置
	var this_hash=location.hash;//获取

实例

	location.hash="top";
	console.log(location.hash);
	//top

8.3host属性

定义和用法
host属性是一个可读可写的字符串,可设置或返回当前URL的主机名称和端口号。
语法

	location.host=hostname;//设置
	var k=location.host;//获取

实例

	console.log(location.host);
	//打印当前域名和端口

8.4hostname属性

定义和用法
hostname属性是一个可读可写的字符串,可设置或返回当前URL的主机名。
语法

	location.hostname=myhostname;//设置
	var my_hostname=location.hostname;//获取

实例

	console.log(location.hostname);
	//打印当前域名

8.5port属性

定义和用法
port属性是一个可读可写的字符串,可设置或返回当前URL的端口部分。
语法

	location.port=portnumber;//设置
	var thisport=location.port;//获取

实例

	console.log(location.port);
	//打印当前页面地址的端口

8.6pathname属性

定义和用法
pathname属性是一个可读可写的字符串,可设置或返回当前URL的路径部分。
语法

	location.parhname=path;//设置
	var myPath=location.pathname;//获取

实例

	console.log(location.pathname);
	//打印当前路径

8.7protocol属性

定义和用法
protocol属性是一个可读可写的字符串,可设置或返回当前URL的协议。
语法

	location.protocol=newproto//设置
	var myPro=location.protocol;//获取
实例
```js
	console.log(location.protocol);
	//打印当前页面的通讯协议

8.8search属性

定义和用法
search属性是一个可读可写的字符串,可设置或返回当前URL的查询部分(问号?之后的部分)。
语法

	location.search=searchcontent;//设置
	var mysearch=location.search;//获取

实例

	console.log(location.search);
	//打印当前页面的查询条件部分

9.Location对象方法

方法名描述
assign()加载新的文档
reload()重新加载当前文档
replace()用新的文档替换当前文档

9.1assign()方法

定义和用法
assign()方法可加载一个新的文档
语法

	location.assign(URL);//设置

实例

	location.assign("http://www.baidu.com");
	//跳转页面到www.baidu.com

9.2reload()方法

定义和用法
reload()方法可重新加载一个新的文档
语法

	location.reload();

实例

	location.reload();
	//重新加载当前页面

9.3replace()方法

定义和用法
replace()方法可用一个新的文档取代当前文档
语法

	location.replace(newURL);

实例

	location.replace("http://www.baidu.com");
	//替换当前页面
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值