日期:2014-05-16  浏览次数:20317 次

JavaScript BOM学习笔记——window对象5

1.浏览器状态栏

??? 可以通过window对象的status和defaultStatus属性设置浏览器地址栏。前者可以使浏览器地址栏文本暂时改变,后者可以在用户离开该页面前一直改变该文本。

????可以在第一次载入页面时,使用默认的状态栏消息:

????window.defaultStatus = "You are surfing www.wrox.com";

????还可以用来显示链接的信息。(这一点在使用JavaScript URL时很有用,可以用来隐藏链接的实现细节)

??? <a href="javascript:goSomeWhere(1,2,3,4)" onmouseover="window.status='Information on this site'">Books</a>

2.时间间隔和暂停

??? 可以通过window.setTimeout()方法设置暂停。该方法接收两个参数:要执行的代码和要等待的时间。第一个参数可以是代码字符串,也可以是函数指针,下面的例子展示了三种写法。

<html>
	<head>
		<title></title>
		<script type="text/javascript">
			function testTimeout1() {
				setTimeout("alert('Hello,JS!')",2000);
			}
			function testTimeout2() {
				setTimeout(function() {
					alert("Hello, JS!")
				},2000);
			}
			function sayHello() {
				alert("Hello, JS!")
			}
			function testTimeout3() {
				setTimeout(sayHello,2000);
			}
		</script>
	</head>
	<body onload="testTimeout3()">
		
	</body>
</html>

???? window.setTimeout()方法会创建一个数字暂停ID,类似于OS中的进程ID。暂停ID本质上是要延迟的进程ID。调用了setTimeout之后,就不再执行它的代码。如果要取消暂停,则可以使用clearTimeout()方法,并且将暂停ID传给它。

??? 设置时间间隔和设置暂停类似。只是它会无限次的每隔指定时间就执行指定的代码。设置时间间隔的函数是setInterval()。在语法上,时间间隔和暂停几乎没有区别。

?

?

<html>
	<head>
		<title></title>
		<script type="text/javascript">
			function testInterval1() {
				setInterval("alert('Hello!')",1000);
			}
			
			function testInterval2() {
				setInterval(function() {
					alert("Hello!");
				},1000);
			}
			
			function sayHello() {
				alert("Hello!");
			}
			
			function testInterval3() {
				setInterval(sayHello,1000);
			}
		</script>
	</head>
	<body onload="testInterval3()">
	</body>
</html>

?

<html>
	<head>
		<script type="text/javascript">
			var iNum = 0;
			var iMax = 10;
			var iIntervalId = null;
			function incNum() {
				iNum++;
				alert("Hello!");
				if(iNum == iMax) {
					clearInterval(iIntervalId);
				}
			}
			iIntervalId = setInterval(incNum,1000);
		</script>
	</head>
	<body></body>
</html>

?

?

3. 浏览器历史

??? 通过window.history的相关方法可以实现访问浏览器历史。

??? window.history.go():该方法接受一个参数,即前进或者后退的页数。正数代表前进,负数代表后退

??? window.history.back():后退

??? window.history.forward():前进

??? 可以通过history.length属性查看到历史中的页面数

?

?

?

?

? ?参考书:

《JavaScript高级编程》Nicolas C. Zakas著, 曹力 张欣 等译。

?