BOM(浏览器对象模型),它提供了独立于内容而与浏览器窗口进行交互的对象。BOM由一系列相关的对象构成。
一、window对象
      window对象表示整个浏览器窗口,但不必表示其中包含的内容。Window还可用于移动或调整它表示的浏览器的大小。
      (1)、window对象在框架中的应用
      如果页面使用框架集合,每个框架都由它自己的window对象表示,存放在frames集合中。在frames集合中,可用数字(由0开始,从左到右,逐行的)或名字对框架进行索引。可以用top对象代替window对象(例如:top.frames[0])。top对象指向的都是最顶层的框架,即浏览器窗口自身。
      由于window对象是整个BOM的中心,所以它享有一种特权,即不需要明确引用它,在引用函数、对象或集合时,解释程序都会查看window对象,所以window.frame[0]可以只写frame[0]。
      window另一个实例是parent。parent对象与装载文件框架一起使用,要装载的文件也是框架集。window对象的name属性,它存储的是框架的名字。
      一个更加全局化的窗口指针是self,它总是等于window,如果页面上没有框架,window和seft就等于top,frames集合的长度为0。

(2)、窗口操作
      moveBy(dx,dy)——把浏览器窗口相对当前位置水平移动dx个像素,垂直移动dy个像素。Dx值为负数,向左移动窗口,dy值为负数,向上移动窗口。
      moveTo(x,y)——移动浏览器窗口,使它的左上角位于用户屏幕的(x,y)处,可以使用负数,不过样会把部分窗口移出屏幕的可视区域。
      resizeBy(dw,dh)——相对于浏览器窗口的当前大小,把窗口的宽度调整dw个像素,高度调整dy个像素。Dw为负数,缩小窗口的宽度,dy为负数,缩小窗口的高度。
      resizeTo(w,h)——把窗口的宽度调整为w,高度调整为h,不能使用负数。
      (3)、导航和打开新窗口
      用JavaScript可以导航到指定的URL,并用window.open()方法打开新窗口。该方法接受四个参数,即要载入新窗口的页面的URL、新窗口的名字,特性字符串和说明是否用新载入的页面替换当前载入的页面的Boolean值。该窗口的特性由第三个参数(特性字符串)决定。如果省略第三个参数,将打开新的浏览器窗口,就像点击了target被设置为_blank的链接。特性字符串是用逗号分隔的设置列表,在逗号或等于前后不能有空格。它定义新创建的窗口的某些方面。window.open()方法将返回window对象作为它的函数值,该window就是新创建的窗口。

(4)、系统对话框
       alert()方法:只接受一个参数,即要显示给用户的文本,浏览器创建一个具有OK按钮的系统消息框,显示指定的文本。
       confirm()方法:只接受一个参数,即要显示的文本,浏览器创建一个具有OK按钮和Cancel按钮的系统消息框,显示指定的文本。该方法返回一个Boolean值,如果点击是OK按钮,返回true,点击的是Cancel按钮,返回false。
       prompt()方法:提示用户输入某些信息,接受两个参数,即要显示给用户的文本和文本框中的默认文本。如果点击OK按钮,将文本框中的值作为函数值返回。如果点击Cancel按钮,返回null。
       以上三种对话框是模态的,意思是如果用户未点击OK按钮或Cancel按钮关闭对话框,就不能在浏览器窗口中做任何作品。

(5)、时间间隔和暂停
       setTimeout()方法:设置暂停(在指定的毫秒数后执行指定的代码),接受两个参数,要执行的代码和在执行它之前要等待的毫秒数(1/1000秒)。第一个参数可是代码串(与eval()函数的参数相同),也可是函数指针。
       clearTimeout()方法:取消还未执行的暂停,并将暂停ID传递给它。
       setInterval()方法:设置在每隔指定的时间段就执行一次指定的代码。参数与setTimeout()相同。
       clearInterval()方法:用时间间隔ID阻止要执行的代码。参数接受一个时间间隔ID。

(6)、历史
     浏览器窗口的历史,就是用户访问过的站点的列表。访问其可以使用window对象的history属性及它的相关方法。
      go()方法:只有一个参数,即前进或后退的页面数,如果是负数,就在浏览器历史中后退,如果是正数,就前进。可以使用length属性查看历史中的页面数。

三、location对象
      location对象是BOM中最有用的对象之一,它是window对象和document对象的属性。
      location对象表示载入窗口的URL,还可以解析URL。
      下表列出了BOM的location对象的一些通用属性:

location.assign(“http://www.yiiyaa.net”);     //设置窗口的URL,同location.href属性一样
       location.replace(“http://www.yiiyaa.net”);    //同assign()方法一样,只不过从浏览器历史中删除包含脚本的页面,这样就不能通过浏览器的后退和前进按钮访问它。
      reload()方法:重新载入当前页面,只有一个参数,如果是false,则从缓存中载入,如果是true,则从服务器载。最后放在最后一行,因为有可能被执行,有可能不被执行,这由网络延迟和系统资源决定。
      toString()方法:返回location.href的值。

四、navigator对象
      navigator也是window对象的属性,可以用window.navigator引用它,也可以用navigator引用。
五、screen对象
       screen对象可以获取某些关于屏幕的信息。
       availHeight——窗口可以使用的屏幕的高度(以像素计),基路包括操作系统需要的空间
       availWidth——窗口可以使用的屏幕的宽度(以像素计)。
       colorDepth——用户表示颜色的位数,大多系统采用32位。
       height——屏幕的高度,以像素计。
       width——屏幕的高度,以像素计。

Javascript高级程序设计——BOM(浏览器对象模型)的更多相关文章

  1. 2020/6/10 JavaScript高级程序设计 BOM

    BOM(浏览器对象模型):提供用于访问浏览器的对象. 8.1 window对象 window是BOM的核心对象,表示浏览器的一个实例. JavaScript访问浏览器窗口的接口 ECMAScript规 ...

  2. 《JAVASCRIPT高级程序设计》window/location/navigator/screen/history对象

    如果要在web中使用JAVASCRIPT,那么BOM(浏览器对象模型)毫无疑问是最重要的部分.BOM提供了很多对象,例如,window.location.navigator.screen.histor ...

  3. 第一百一十一节,JavaScript,BOM浏览器对象模型

    JavaScript,BOM浏览器对象模型 学习要点: 1.window对象 2.location对象 3.history对象 BOM也叫浏览器对象模型,它提供了很多对象,用于访问浏览器的功能.BOM ...

  4. 《JavaScript高级程序设计》笔记:BOM(八)

    BOM(浏览器对象模型)提供了很多对象,用于访问浏览器的功能,这些功能与任何网页内容无关. window对象 全局作用域 定义全局变量与在window对象上直接定义属性还是有一点差别:全局变量不能通过 ...

  5. JavaScript——BOM(浏览器对象模型),时间间隔和暂停

    BOM(浏览器对象模型):能够对浏览器的窗体进行訪问和操作 1.主要的BOM体系: window------------document-------------------------------- ...

  6. 《JavaScript高级程序设计(第3版)》阅读总结记录第一章之JavaScript简介

    前言: 为什么会想到把<JavaScript 高级程序设计(第 3 版)>总结记录呢,之前写过一篇博客,研究的轮播效果,后来又去看了<JavaScript 高级程序设计(第3版)&g ...

  7. javascript高级程序设计阅读笔记(一)

    javascript高级程序设计阅读笔记(一) 工作之余开发些web应用作为兴趣,在交互方面需要掌握javascript和css.HTML5等技术,因此读书笔记是必要的. javascript简介 J ...

  8. 《JavaScript高级程序设计》学习笔记

    系统学习JS, 从<JavaScript高级程序设计>入门,通过学习jQuery或者angularJS源码来进阶. 第1章 JavaScript简介 1.JS问世的目的是处理以前由服务器端 ...

  9. 读书时间《JavaScript高级程序设计》一:基础篇

    第一次看了<JavaScript高级程序设计>第二版,那时见到手上的书,第一感觉真是好厚的一本书啊.现在再次回顾一下,看的是<JavaScript高级程序设计>第三版,并记录一 ...

随机推荐

  1. ASP.NET WEB API 测试

    编码时测试: Postman + Fiddler4 Postman进行发包 Fiddler4进行抓包 编码结束后测试: 通过Nuget引入组件WebApiTestClient: 接口文档 类属性 测试

  2. IOS - CORE DATA的目录(xcode6)

       当使用coredata作为app的后台数据存储介质后,我们很想知道数据是否成功插入.为此,我想找到coredata.sqlite的文件 代码中指定的存储目录为: - (NSURL *)appli ...

  3. C++ Virtual

    摘自:http://www.cnblogs.com/xd502djj/archive/2010/09/22/1832912.html namespace QCAR { /// Area is the ...

  4. JS-流程控制汇集

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>流 ...

  5. BZOJ1804: [Ioi2007]Flood 洪水

    把点按坐标排序,每次找出最小的点,一定在最外层,再顺着把最外层的边删掉,经过了两次的边不会被冲毁. 其实不难写,但是写了很久. #include<bits/stdc++.h> #defin ...

  6. css013 构建基于浮动的布局

    css013 构建基于浮动的布局 基于浮动的布局时利用float属性是网页上的元素并排,并创建列 float有三个值:left .right .none 1.假设要把一张图片浮动到网页的左侧 .flo ...

  7. Tomcat 开发web项目报Illegal access: this web application instance has been stopped already. Could not load [org.apache.commons.pool.impl.CursorableLinkedList$Cursor]. 错误

    开发Java web项目,在tomcat运行后报如下错误: Illegal access: this web application instance has been stopped already ...

  8. 《深入理解bootstrap》读书笔记:第三章 CSS布局

    一. 概述一下理念 bootstrap基于H5开发.提倡移动先行(媒询声明是必须的),对浏览器支持面不是很广. 响应式图片:max-width:100% height:auto; 可以加上:.img- ...

  9. 关于webpack抛出对象到全局的问题

    一般情况下,我们用webpack的时候.大多是用在单页应用上. 单是,某些情况下,我们用来做多页面的时候,有的时候,会需要在html内嵌 <script>,比如说,这个页面是服务端渲染的, ...

  10. OwinStartupAttribute

    尝试加载应用时出现了以下错误.- 找不到包含 OwinStartupAttribute 的程序集.- 找不到包含 Startup 或 [AssemblyName].Startup 类的程序集.若要禁用 ...