1.什么是bom?

全称:浏览器对象模型(Browser Object Model)

bom是js的一部分,

2.bom的对象,方法和方法

bom提供了主要的8大对象:Window,Screen,Loacation,History,Navigator;Screen,Loacation,History,Navigator四大类是Window的成员,因此都可以通过Window.*去访问。

1.Window

1.window是什么

Window对象:表示浏览器打开的窗口、标签或者框架(若当前页面里包含多个iframe,会为每个iframe创建Window对象)。

Window对象不会被实例化,调用属性和方法都作为window的静态成员。

全局变量是 window 对象的属性。

全局函数是 window 对象的方法。

2.window怎么用

调用方式:调用Window对象的成员时,可以省略前面的window。如:window.alert() 可写成 alert() 。

3.Attribute

 readonly ApplicationCache applicationCache :返回窗口的应用缓存对象。

 readonly boolean  closed :返回窗口是否已经关闭。

 readonly Console console :返回对Consol对象的引用,对浏览器控制台进行操作。

 readonly int  devicePixelRatio :返回设备像素比,即当前显示器的物理像素和设备独立像素(dip)的比例。

 readonly Document document :返回当前窗口的Document对象。

 readonly Element frameElement :若当前window处于一个<iframe>中,此属性返回这个IFrame。若在顶级窗口,返回null。

 readonly Window [] frames :返回一个包含窗口内所有的框架的数组。

 readonly History history :返回一个History对象。可对当前页的历史进行操作,如:前进、后退等。

 readonly long innerHeight :返回当前窗口可显示HTML文档的高度,单位px(像素)。

 readonly long innerWidth :返回当前窗口可显示HTML文档的宽度,单位px(像素)。

 readonly long  length :返回窗口内包含框架的数量,即frames数量。

 readonlyLocation location :返回一个Location对象。可对当前页面的URL进行操作,如:导航到新的页面、获取URL信息等。

 readonly LocalStorage localStorage :返回一个键/值对存储的Storage对象,持续到被用户删除。

 string name :设置或获取当前窗口的name。

 readonlyNavigator navigator :返回一个Navigator 对象。包含浏览器信息。如:获取浏览器名称、版本信息、操作系统平台信息等等。

 Window openner :返回对打开当前窗口的原窗口一个引用。若当前窗口是由另一个窗口打开的, window.opener保留对那个窗口的引用. 如果当前窗口不是由其他窗口打开的,则该属性返回 null。

 readonly long outerHeight :返回当前浏览器的总高度,单位px(像素)。包含工具栏、滚动条、浏览器边框等范围。

 readonly long  outerWidth :返回当前浏览器的总宽度,单位px(像素)。包含工具栏、滚动条、浏览器边框等范围。

 readonly long  pageXOffset :返回文档横向滚动的距离,单位px(像素)。

 readonly long  pageYOffset :返回文档纵向滚动的距离,单位px(像素)。

 readonly Window parent :返回当前窗口的父级窗口。若当前窗口是顶级窗口,返回当前窗口本身。若当前窗口为一个框架窗口,返回它的父窗口。

 readonlyScreen screen :返回一个Screen对象。包含屏幕信息。如:获取屏幕高度、宽度等等。

 readonly long  screenX :返回浏览器在屏幕的X坐标。

 readonly long screenY :返回浏览器在屏幕的Y坐标。

 readonly long scrollX  :返回文档横向滚动的距离,单位px(像素)。与pageXOffset属性一样。

 readonly long scrollY  :返回文档纵向滚动的距离,单位px(像素)。与pageYOffset属性一样。

 readonly Window self :返回一个对当前Window对象的引用。

 readonly SessionStorage sessionStorage :返回一个键/值对存储的Storage对象,持续到当前浏览会话结束。

 readonly Window top :返回当前窗口的顶级窗口。若当前窗口本身已经是顶级,则返回自身。若当前窗口为一个框架窗口,返回包含它的顶级窗口(parent只是返回父窗口)。

 readonly Window window :返回当前窗口Window对象。

2.Method

 void  addEventListener (string eventType,function eventListener) :给窗口注册事件。eventType事件类型,如:click。eventListener:事件触发的函数或对象。

 void alert (string msg) :弹出一个包含msg和一个确认按钮的警告框。

 string atob (string base64Str) :将一个基于Base64编码的字符串解码为一个字符串。

 void blur () :当前窗口移除焦点。

 string btoa (string str) :将一个字符串编码为一个Base64编码。

 void clearInterval (long intervalHandle) :停止intervalHandle指定的setInterval()。

 void clearTimeout (long timeoutHandle) :停止timeoutHandle指定的setTimeout()。

 void close () :关闭当前窗口。只能关闭由脚本打开的窗口,如:a元素打开新页面。

 boolean confirm (string msg) :显示带有一段消息以及确认按钮和取消按钮的对话框。点击确认按钮返回true,点击取消按钮返回false。

 void  focus () :当前窗口获得焦点。

 void  moveBy (long deltaX, long deltaY) :使open()方法创建的窗口,在本身的位置上,水平移动deltaX个像素,垂直移动deltaY个像素。

 void  moveTo (long x, long y) :使open()方法创建的窗口,移动到x,y坐标。

 Window open (string url, string target, string features, string replace) :创建一个新的窗口。

 void  print () :调用浏览器的打印按钮。

 string prompt (string msg) :弹出一个显示msg信息并包含一个确定按钮和取消按钮的输入框。此输入框会阻塞页面,点击确定按钮返回输入的内容,点击取消按钮返回null。

 void resizeBy (long deltaWidth, long deltaHeight) :使open()方法创建的窗口,在本身的位置上,宽度增加deltaWidth个像素,高度增加deltaHeight个像素。

 void resizeTo (long width, long height) :使open()方法创建的窗口,宽度变为width,高度变为height。

 void scrollBy (long deltaWidth, long deltaHeight) :在当前滚动的基础上,横向滚动deltaWidth像素,纵向滚动deltaHeight像素。

 void scrollTo (long width, long height) :横向滚动到width像素距离上,纵向滚动到height像素距离上。

 long  setInterval (function fn, long time) :每隔一定的周期(毫秒)执行指定函数。

 long setTimeout (function fn, long time) :在一定的毫秒数后执行指点函数。

2.Screen

1.Screen是什么

window.screen 对象包含有关用户屏幕的信息,如一些属性:

  • screen.availWidth - 可用的屏幕宽度
  • screen.availHeight - 可用的屏幕高度

2.如何使用

window.screen 对象在编写时可以不使用 window 这个前缀。

调用方式:window.screen 或者 screen。

3.Attribute

 readonly long  availHeight :返回浏览器在屏幕的可用高度,单位px(像素)。可理解为浏览器最大化的高度,一般为屏幕高度减去上下系统任务栏或停靠栏。

 readonly long availWidth :返回浏览器在屏幕的可用宽度,单位px(像素)。可理解为浏览器最大化的宽度,一般为屏幕宽度减去左右系统任务栏或停靠栏。

 readonly long  colorDepth :返回屏幕的颜色深度。颜色深度简单说就是最多支持多少种颜色,。一般是用“位”来描述的。比如BMP格式,则最多可以支持红、绿、蓝各256种,总共24位。所以颜色深度是24。

 readonly long  height :返回屏幕的高度,单位px(像素)。

 readonly long  pixelDepth :返回屏幕的色彩深度。

 readonly long  width :返回屏幕的宽度,单位px(像素)。

3.Navigator

1.What?

Navigator 对象包含有关浏览器的信息。如:获取浏览器名称、版本信息、操作系统平台信息等等。

2.How?

调用方式:window.navigator 或者 navigator。

3.Attribute

 readonly string appName :返回浏览器的名称。基于 Netscape 的浏览器中,返回的是 "Netscape"。在 IE 中,返回值为 "Microsoft Internet Explorer"。

 readonly string  appVersion :返回浏览器版本和平台信息。如:某个Chrome版本返回 "5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36"。

 readonly  Geolocation geolocation :返回一个Geolocation对象,可获取当前的地理信息。

 readonly string language :返回浏览器界面语言。简体中文返回:"zh-CN"。

 readonly boolean onLine :返回浏览器是否可连接网络。

 readonly string  platform :返回浏览器所在的系统平台。如:Win32。

 readonly string userAgent :返回由客户机发送服务器的 user-agent 头部的值。如:"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36".

 readonly  ServiceWorker serviceWorker :返回ServiceWorker对象。serviceWorker运行于浏览器后台的一种脚本,它可以无需Web页面或者用户交互就能提供额外的功能。

4.Method

 boolean  javaEnabled () :返回浏览器是否启用Java。

4.History

1.History是什么

window.history 对象包含浏览器的历史。

window.history 对象在编写时可不使用 window 这个前缀。

为了保护用户隐私,对 JavaScript 访问该对象的方法做出了限制。

可对当前页的浏览历史进行操作,如:前进、后退等。但不能知道浏览了哪些URL。

2.如何使用

调用方式:window.history 或者 history。

3.Attribute

 readonly long length :返回浏览器历史列表中的 URL 数量。

4.Method

 void back () :当前所属窗口访问上一个访问过的URL。等同于浏览器的"后退"按钮,也等同于history.go(-1)。

 void  forward () :当前所属窗口访问下一个访问过的URL。等同于浏览器的"前进"按钮,也等同于history.go(1)。

 void  go (int index) :使当前窗口访问指定的访问过的URL。当前窗口访问过的URL,是存入一个数组。正数表示前进index个(点击"前进"按钮index次),负数表示后退index个(点击"后退"按钮index次)。

5.Location

1.Location是什么

window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。

window.location 对象在编写时可不使用 window 这个前缀。

2.怎么使用

调用方式:window.location 或者 location。

3.Attribute

 string hash :设置或返回当前页面URL中的的锚部分,包含开头的#符号。

 string host :设置或返回当前页面URL的主机名称和端口。

 string hostname :设置或返回当前页面URL的主机名称。

 string href :设置或返回当前页面完整的URL。若设置时不加协议,设置的字符串只是改变URL最后一个'/'之后的字符串。

 string pathname :设置或返回当前页面URL的路径部分。

 string port :设置或返回当前页面URL的端口。若当前URL没有端口,返回一个''(空字符串)。

 string  protocol :设置或返回当前页面URL的协议,最后面会有个':'冒号。

 string  search :设置或返回当前页面URL的查询部分(从问号 (?) 开始的 URL)。

 readonly string  origin :返回当前页面URL的源。返回格式:协议+主机名+端口;如:https://www.baidu.com

4.Method

 void  assign (string url) :设置当前页面加载指定的url,等同于设置href属性的值为url。

 void reload () :重新加载当前页面的URL。可看成为刷新操作。

 void replace (string url) :设置当前页面加载指定的url,并在浏览器历史记录中替换掉当前地址,进行"后退"操作不会显示当前访问过的记录。

3.bom与dom的关系与区别

关联:因为document对象又是DOM(Document Object Model)模型的根节点。可以说,BOM包含了DOM(对象),浏览器提供出来给予访问的是BOM对象,从BOM对象再访问到DOM对象,从而js可以操作浏览器以及浏览器读取到的文档。

区别:DOM描述了处理网页内容的方法和接口,BOM描述了与浏览器进行交互的方法和接口。

转载:http://www.cnblogs.com/polk6/p/5045277.html

Bom简单介绍的更多相关文章

  1. 《javascript高级程序设计》读书笔记(一)javascript简单介绍

    第一章:javascript简单介绍 Netscape Navigator 开发的javascript   Javascript的实现有三部分: 1.核心(ECMAScript):提供核心语言功能. ...

  2. 前端之JavaScript:JS简单介绍

    JavaScript(JS)之简单介绍 一.JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名Scr ...

  3. [原创]关于mybatis中一级缓存和二级缓存的简单介绍

    关于mybatis中一级缓存和二级缓存的简单介绍 mybatis的一级缓存: MyBatis会在表示会话的SqlSession对象中建立一个简单的缓存,将每次查询到的结果结果缓存起来,当下次查询的时候 ...

  4. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍

    一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...

  5. 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍

    一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...

  6. yii2的权限管理系统RBAC简单介绍

    这里有几个概念 权限: 指用户是否可以执行哪些操作,如:编辑.发布.查看回帖 角色 比如:VIP用户组, 高级会员组,中级会员组,初级会员组 VIP用户组:发帖.回帖.删帖.浏览权限 高级会员组:发帖 ...

  7. angular1.x的简单介绍(二)

    首先还是要强调一下DI,DI(Denpendency Injection)伸手获得,主要解决模块间的耦合关系.那么模块是又什么组成的呢?在我看来,模块的最小单位是类,多个类的组合就是模块.关于在根模块 ...

  8. Linux的简单介绍和常用命令的介绍

    Linux的简单介绍和常用命令的介绍 本说明以Ubuntu系统为例 Ubuntu系统的安装自行百度,或者参考http://www.cnblogs.com/CoderJYF/p/6091068.html ...

  9. iOS-iOS开发简单介绍

    概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序.但是这里我想强调一下,前面的 ...

随机推荐

  1. React.js小书总结

    (迁移自旧博客2017 08 27) 第一阶段 react的组件相当于MVC里面的View. react.js 将帮助我们将界面分成了各个独立的小块,每一个块就是组件,这些组件之间可以组合.嵌套,就成 ...

  2. visual studio code——运行python

    How to run Python in Visual Studio Code Getting Started with Python in VS Code python教程 vs code 安装py ...

  3. 8、Dockerfile详解

    除了init之外,每一个进程都应该是其他进程的子进程(init是内核启动的),当手动启动nginx时,那么这个nginx就以shell子进程存在.当打开一个命令行提示符时,这个就相当于在运行一个she ...

  4. Kinect外包团队— 2016中国VR开发者论坛第一期

    由VR界网和暴风魔镜联合举办的2016中国VR开发者论坛第一期已于3月2日下午5点在吉林动画学院圆满落幕,本次论坛云集了VR相关领域的精英,邀请了VR社交<极乐王国>.暴风魔镜.南京睿悦. ...

  5. ssh整合oracle数据源报错????

    在SSH整合的时候,引入oracle的pom节点,但是报错,因为没有权限,要手动将Oracle.jar注册到本地仓库 保证你电脑有maven环境,测试 方式为 cmd---->mvn -vers ...

  6. ubuntu使用抓包工具,charles

    参考官网:https://www.charlesproxy.com/documentation/installation/apt-repository/ wget -q -O - https://ww ...

  7. Docker报错 WARNING: IPv4 forwarding is disabled. Networking will not work.

    问题:创建容器的时候报错WARNING: IPv4 forwarding is disabled. Networking will not work. # docker run -it -p 3000 ...

  8. jupyter notebook——安装配置

    本地登陆 cmd输入下面的命令,会进入用户主目录 jupyter notebook 在浏览器打开时,提示输入token,复制命令行上的token还是不能进入,其实浏览器上有提示的,按照提示操作即可,输 ...

  9. Cocos Creator学习二:查找节点和查找组件

    1.目的:只有通过方便的获取节点对象以及组件,才能较好的进行逻辑控制. 2.通过 cc.find(节点全路径名称字符串) 获取节点. 3.通过getComponent获取组件(注意一个是类型,一个是类 ...

  10. inline temp 内联临时变量

    double basePrice = order.getPrice(); return basePrice; 改成 return  order.getPrice(); 去掉临时无用的临时变量