JavaScript——驰骋网页的脚本执行者(9)

十四、浏览器对象模型(Bom

Bom有这些常用对象:

Window:封装了浏览器整个窗口对象

Navigation:封装了浏览器的信息

Screen:封装了操作系统的屏幕信息

History:封装了浏览器访问历史信息

Location:封装了浏览器地址栏信息

 

1.location对象

location对象是最有用的BOM对象之一,提供了与当前窗口中加载文档的有关信息,还提供一些导航功能。location是个神奇的对象,既是window的对象也是document的对象。

console.log(window.location == document.location); //true

 

location对象有这些属性:

host:返回服务器名称和端口号

hostname:返回不带端口号的服务器名称

href:返回当前加载页面的完整URL

pathname:返回URL的目录和文件名

port:返回URL中指定的端口号

protocol:返回页面使用的协议

search:返回URL的查询字符串。这个字符串以问号开头

 

location对象有这些方法:

assign():参数为一个url,打开新url,并在浏览记录中生成一条记录

replace():参数为一个url,结果会导致浏览器地址位置改变,但不会在历史记录中生成新记录

reload():重新加载当前显示的页面,参数可以为boolean类型,默认为false表示以最有效方式重新加载,可能从缓存中直接加载。如果参数为true,会强制从服务器中重新加载

 

给window.location; location.href设置为一个URL值,也会以该值调用assign()方法。以下三行代码效果相同:

window.location="http://www.baidu.com";

location.href="http://www.baidu.com";

location.assign("http://www.baidu.com");

 

2.history对象

该对象保存着用户上网的历史记录。出于安全方面的考虑,开发人员无法得知用户浏览过的URL,不过借由用户访问过的页面列表,同样可以在不知道实际URL的情况下实现后退前进,要注意的是,没有应用于History对象的公开标准,不过所有浏览器都支持该对象。它有这些属性和方法:

length:返回历史列表中的网址数(IEOpera0开始,而FirefoxChromeSafari1开始

back():加载history列表中的前一个URL

forward():加载history列表中的下一个URL

go():加载history列表中的某个具体页面负数表示向后跳转,正数表示向前跳转

 

3.超时调用和间歇调用

JavaScript是单线程语言,但可以通过超时值和间歇时间来调度代码在特定时刻执行

setTimeout():表示超时调用,该方法包含两个参数,分别是要执行的代码以毫秒表示的时间,结果返回一个数值ID,这个超时调用ID是计划执行代码的唯一标识符可以通过clearTimeout(ID)来取消超时调用

setInterval():表示按照指定的时间间隔重复执行代码,直到间歇调用被取消或页面被卸载方法包含两个参数,分别是要执行的代码和以毫秒表示的时间,调用该方法也会返回一个间歇调用ID可以通过clearInterval(ID)来取消间歇调用

还可以通过超时调用模拟间歇调用,例如:

var num = 0;    
var max = 10;
function incrementNum(){
    num ++;
    if(num < max){
        alert(num);
        setTimeout(incrementNum,500);
    }else{
        alert("Done"+num);
    }
}
setTimeout(incrementNum,500);

 

4.系统对话框

alert()confirm()prompt()方法可以调用系统对话框向用户显示消息。显示这些对话框的时候代码会停止执行,关掉这些对话框后代码又会恢复执行。

alert():提示框,该方法接收一个字符串参数并将其显示给用户。该对话框会包含指定的文本和一个OK按钮,主要用来显示警告信息,无返回值

confirm():确认对话框,该方法接收一个字符串参数并将其显示给用户。显示包含的指定文本和一个OK按钮以及Cancel按钮,该方法返回一个布尔值,true表示单击了OKfalse表示单击cancel或者关闭按钮

prompt():会话框,提示用户输入一些文本。该方法接收两个参数,分别为要显示给用户的文本提示和文本输入域的默认值,显示包含的指定文本和一个OK按钮以及Cancel按钮,该方法返回用户的输入值

posted @ 2019-09-10 11:30  我的祈愿  阅读(176)  评论(0编辑  收藏  举报