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