javascript小结之BOM

JS中的BOM也叫浏览器对象模型,它提供了一些对象用于访问浏览器的功能,BOM本身缺少规范,每个浏览器提供商都按照自己的想法去扩展它,那么浏览器的共有对象就成了事实上的标准,所以,BOM本身是没有标准的或者还没有哪个组织去给它定义标准。

1、window对象

window对象是BOM的核心对象,它表示浏览器的一个实例,window对象处于javascript结构的最顶层,其他对象都是window的属性,对于每个打开的浏览器窗口,系统都会自动为其定义一个window对象。

BOM对象结构图

图1:BOM对象结构图

(1)属性和方法

window下的属性和方法,可以使用window.属性、window.方法()或者直接属性、方法()的方式调用。例如,window.alert()和alert()的意思是相同的。有关window对象的属性和方法,可以访问w3school的相应页面。需要注意的是,如果是某个浏览器独有的属性和方法,那么在其他浏览器可能会识别不到,而被当作普通变量或者普通函数来使用。

(2)系统对话框

浏览器通过alert()、confirm()、prompt()方法可以调用系统对话框向用户显示信息。

<script type="text/javascript">
	window.alert("这是一个警告");
	// confirm()是有返回值的,“确定”则返回true,“取消”则返回false
	if (window.confirm("你是程序员吗")) {
		window.alert("你是一个程序员");
	} else {
		window.alert("你不是一个程序员");
	}
	// prompt有两个参数,第一个是提示,第二个是默认值
	var a = window.prompt("请输入一个值:", 0);
	alert("你刚刚输入的值是:" + a);
</script>

如果想要打印本页,也可以调用window对象的print()方法。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>javascript</title>
</head>
<body>
	<button onclick="javascript:window.print();">打印</button>
</body>
</html>

还可以通过window的defaultStatus和status这两个属性来设置浏览器窗口状态栏的文本,就是IE浏览器左下角显示的那个状态信息,有些浏览器不显示状态信息,这两个属性的用处可能不大。

(3)新建窗口

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>javascript</title>
</head>
<body>
	友情连接:<br />
	<select>
		<option>----</option>
		<option onclick="javscript:window.open('http://www.baidu.com');">百度</option>
		<option onclick="javscript:window.open('http://www.qq.com');">腾讯</option>
	</select>
</body>
</html>

可以使用window.open()方法打开一个指定的URL,也可以打开一个空的窗口,它一共有四个参数。上面的代码是我写的一个可以实现下拉选择打开固定网站,但是不建议这样写,因为每次打开的时候,有些浏览器会提示是否确定打开,很烦。而且,由于是用的JS代码实现跳转,如果真的用这种方式去实现友情链接,可能无法传递权重,不太符合SEO的规范,你的友情网站估计也不会愿意。

(4)计时

window对象中还有个比较重要的计时事件,用于设定在某个时间间隔以后来执行的代码,而不是立刻执行。该事件主要涉及到setTimeout()、clearTimeout()两个方法。

2、location对象

location是BOM对象之一,它提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能。事实上,location对象是window对象的属性,也是location对象的属性,所以window.location和document.location等价。

3、history对象

history对象是window对象的属性,它保存着用户上网的记录,从窗口被打开的那一刻算起,history对象很简单。

4、其他对象

js中比较重要的且常用的对象除了以上三种以外,还有navigator、screen。

本文标题:javascript小结之BOM

本文链接:http://yedward.net/?id=254

本文版权归作者所有,欢迎转载,转载请以文字链接的形式注明文章出处。

相关文章