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著, 曹力 张欣 等译。
?