浏览器对象模型BOM

1.BOM简介浏览器

       IE4.0和Netscape Navigator4.0提供了一种特性——BOM(浏览器对象模型),能够对浏览器窗口进行访问和操做。BOM提供了独立于内容而与浏览器窗口进行交互的对象。缓存

       BOM主要处理浏览器窗口和框架,不过一般浏览器特定的JavaScript扩展都被看做BOM的一部分。这些扩展包括:服务器

       1)弹出新的浏览器窗口、移动、关闭浏览器窗口以及调整窗口大小;cookie

       2)提供Web浏览器详细信息的导航对象;app

       3)提供装载到浏览器中页面的详细信息的定位对象;框架

       4)提供用户屏幕分辨率详细信息的屏幕对象;函数

       5)对cookie的支持;工具

2.BOM的相关对象spa

       1)window对象
指针

       ①窗口操做

         window对象对操做浏览器窗口很是有用。这意味着,开发者能够移动或调整浏览器窗口的大小。可用四种方法实现这些操做:

         a.  moveBy(dx,dy)——把浏览器窗口相对当前位置水平移动dx个像素,垂直移动dy个像素。dx值为负数,向左移动窗口,dy值为负数,向上移                 动窗口。

         b.  moveTo(x,y)——移动浏览器窗口,使它的左上角位于用户屏幕的(x,y)处。可使用负数,不过这样会把部分窗口移出屏幕的可视区域。

         c.  resizeBy(dw,dh)——相对于浏览器窗口的当前大小,把它的宽度调整dw个像素,高度调整dy个像素。dw为负数,缩小窗口的宽度,dy为                  负数,缩小窗口的高度。

         d. resizeTo(w,h)——把窗口的宽度调整为w,高度调整为h。不能使用负数。

       2)导航和打开新窗口

          用JavaScript能够导航到指定的URL,并用window.open()方法打开新窗口。该方法接受四个参数,即要载入新窗口的页面的URL、新窗口的名字、      特性字符串和说明是否用新载入的页面替换当前载入的页面的Boolean值。通常咱们只用前三个参数,由于最后一个参数只有在调用window.open()方        法却不打开新窗口时才有效。

                                                                            window对象的特性字符串

设置 说明
left Number 说明新建立的窗口的左坐标。不能为负数*
top Number 说明新建立的窗口的上坐标。不能为负数*
height Number 设置新建立的窗口的高度。该数字不能小于100*
width Number 设置新建立的窗口的宽度。该数字不能小于100*
resizable yes,no 判断新窗口是否能经过拖动边线调整大小。默认值是no
scrollable yes,no 判断新窗口的视口容不下要显示的内容时是否容许滚动。默认值是no
toolbar yes,no 判断新窗口是否显示工具栏。默认值是no
status yes,no 判断新窗口是否显示状态栏。默认值是no
location yes,no 判断新窗口是否显示(Web)地址栏。默认值是no

               window.open()方法将返回 window对象做为它的函数值,该window对象就是新建立的窗口。

    3)系统对话框

        除弹出新的浏览器窗口,还可使用其余方法向用户弹出信息,即利用window对象的alert()、confirm()和prompt()方法。

    4)时间间隔和暂停

        所谓暂停,是在指定的毫秒数后执行指定的代码。时间间隔是反复执行指定的代码,每次执行之间等待指定的毫秒数。

        利用window对象的setTimeout()方法设置暂停。该方法接受两个参数,要执行的代码和在执行它以前要等待的毫秒数(1/1000秒)。第一个参数能够是代码串(与eval()     函数的参数相同),也能够是函数指针。

         要取消还未执行的暂停,可调用clearTimeout()方法,并将暂停ID传递给它。

         时间间隔与暂停的运行方式类似,只是它是 无线次地每隔指定的时间段就重复一次指定的代码。可调用setInterval()方法设置时间间隔,它的参数与setTimeout()相同,是    要执行的代码和每次执行之间等待的毫秒数。

     5)历史

        所谓历史,是用户访问过的站点的列表。

        咱们只须要经过使用window对象的history属性及它的相关方法便可。go方法只用一个参数,即前进或后退的页面。若是为负数,就在浏览器历史中后退,若是为正数,就前     进。

        所以,后退一页,可用以下代码:

        window.history.go(-1);

        也能够不引用window对象,以下:

        history.go(-1);

        前进一页,须要使用正数,以下:

        history.go(1);

   3.document对象

       document对象的独特之处是它是惟一一个既属于BOM又属于DOM的对象。从BOM角度看,document对象由一系列集合构成,这些集合能够访问文档的各个部分,并提供页面自身的信息。

                                                                        BOM中document对象的一些通用属性

属性 说明
lastModified 最后修改页面的日期,是字符串
referrer 浏览器历史中后退一个位置的URL
title <title/>标签中显示的文本 
URL 当前载入的页面的URL

                                                                                        document对象的集合

集合 说明
anchors 页面中全部锚点的集合(由<a name="anchorname"></a>表示)
applets 页面中全部applet的集合
embeds 页面中全部嵌入式对象的集合(由<embed/>标签表示)
forms 页面中全部表单的集合
images 页面中全部图像的集合
links 页面中全部连接的集合(由<a href="somewhere.htm"></a>表示 )

 

   4.location对象

       BOM中最有用的对象之一是 location对象,它是window对象和document对象的属性。location对象表示载入窗口的URL,此外,它还能够解析URL:

             ①hash——若是URL包含#,该方法将返回该符号以后的内容;

             ②host——服务器的名字;

             ③hostname——一般等于host,有时会省略前面的www;

             ④href——当前载入页面的完整URL;

             ⑤pathname——URL中主机名后的部分;

             ⑥port——URL中声明的请求的端口。默认状况下,大多数URL没有端口信息,因此该属性一般是空白的;

             ⑦protocol——URL中使用的协议,即双斜杠(//)以前的部分。

             ⑧search——执行GET请求的URL中的问号(?)后的部分,又称为查询字符串。

        location.href 是最经常使用的属性,用于获取或设置窗口的URL(在这一点上,它相似于document.URL属性)。

        与它实现相同操做的方法是:location.assign();

        不过咱们通常使用location.href属性,由于它更精确地表达了代码的意图。

         location对象还有一个reload()方法,能够从新载入当前页面。reload()方法有两种模式,即从浏览器缓存中重载(false),或从服务器端重载(true)。

相关文章
相关标签/搜索