javascript的BOM


Posted in Javascript onMay 03, 2016

javascript的BOM

            ECMAScript是 JavaScript的核心,但如果要在 Web中使用 JavaScript,那么 BOM(浏览器对象模型)则无疑才是真正的核心。BOM 提供了很多对象,用于访问浏览器的功能,这些功能与任何网页内容无关。多年来,缺少事实上的规范导致 BOM既有意思又有问题,因为浏览器提供商会按照各自的想法随意去扩展它。于是,浏览器之间共有的对象就成为了事实上的标准。这些对象在浏览器中得以存在,很大程度上是由于它们提供了与浏览器的互操作性。W3C为了把浏览器中 JavaScript最基本的部分标准化,已经将 BOM的主要方面纳入了 HTML5的规范中。

            ps:上面摘抄于《javascript高级程序设计》,BOM是浏览器的窗口对象,提供了很多窗口处理的API。在webapp框架越来越多的情况下,需要我们在同一窗口处理不同页面、不同的ajax数据,则需要我们熟悉BOM的内容。

1、window

        BOM 的核心对象是 window ,它表示浏览器的一个实例。在浏览器中, window 对象有双重角色,它既是通过 JavaScript 访问浏览器窗口的一个接口,又是 ECMAScript 规定的 Global 对象。

javascript的BOM

javascript的BOM

下面是open的第三个字符串属性

javascript的BOM

2、location

        location 是最有用的 BOM对象之一,它提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能。事实上, location 对象是很特别的一个对象,因为它既是 window 对象的属性,也是document 对象的属性;换句话说, window.location 和 document.location 引用的是同一个对象。location 对象的用处不只表现在它保存着当前文档的信息,还表现在它将 URL 解析为独立的片段,让开发人员可以通过不同的属性访问这些片段。

javascript的BOM

3、history

        history 对象保存着用户上网的历史记录, 从窗口被打开的那一刻算起。 因为 history 是 window对象的属性,因此每个浏览器窗口、每个标签页乃至每个框架,都有自己的 history 对象与特定的window 对象关联。出于安全方面的考虑,开发人员无法得知用户浏览过的 URL。不过,借由用户访问过的页面列表,同样可以在不知道实际 URL 的情况下实现后退和前进。

javascript的BOM

4、navigator

        最早由 Netscape Navigator 2.0引入的 navigator 对象,现在已经成为识别客户端浏览器的事实标准。虽然其他浏览器也通过其他方式提供了相同或相似的信息(例如,IE 中的 window.clientInfor-mation 和 Opera 中的 indow.opera ) ,但 navigator 对象却是所有支持 JavaScript 的浏览器所共有的。与其他 BOM 对象的情况一样,每个浏览器中的 navigator 对象也都有一套自己的属性。下图有navigator比较重要的信息

javascript的BOM

5、screen

        JavaScript 中有几个对象在编程中用处不大,而 screen 对象就是其中之一。 screen 对象基本上只用来表明客户端的能力,其中包括浏览器窗口外部的显示器的信息,如像素宽度和高度等。每个浏览器中的 screen 对象都包含着各不相同的属性,下表列出了所有属性及支持相应属性的浏览器。直接用下面代码查看下就行了

<!DOCTYPE html>
<html>
<head>
<script>
  console.log(screen);
</script>
</head>
<body>
  screen
</body>
</html>
Javascript 相关文章推荐
JavaScript 实现??打印?理
Apr 28 Javascript
JS关闭窗口或JS关闭页面的几种代码分享
Oct 25 Javascript
多种js图片预加载实现方式分享
Feb 19 Javascript
JS异步加载的三种实现方式
Mar 16 Javascript
微信小程序基于slider组件动态修改标签透明度的方法示例
Dec 04 Javascript
Node.js 使用AngularJS的方法示例
May 11 Javascript
Vue中控制v-for循环次数的实现方法
Sep 26 Javascript
浅析JS中什么是自定义react数据验证组件
Oct 19 Javascript
vue-router 起步步骤详解
Mar 26 Javascript
在vue中使用jsx语法的使用方法
Sep 30 Javascript
Vue 实现v-for循环的时候更改 class的样式名称
Jul 17 Javascript
js用正则表达式筛选年月日的实例方法
Jan 04 Javascript
原生JS封装Ajax插件(同域、jsonp跨域)
May 03 #Javascript
深入浅析Bootstrap列表组组件
May 03 #Javascript
前端jquery部分很精彩
May 03 #Javascript
jQuery代码实现对话框右上角菜单带关闭×
May 03 #Javascript
JS基于clipBoard.js插件实现剪切、复制、粘贴
May 03 #Javascript
搞定immutable.js详细说明
May 02 #Javascript
Immutable 在 JavaScript 中的应用
May 02 #Javascript
You might like
MYSQL环境变量设置方法
2007/01/15 PHP
php面向对象中static静态属性和静态方法的调用
2015/02/08 PHP
php跨服务器访问方法小结
2015/05/12 PHP
PHP基于PDO扩展操作mysql数据库示例
2018/12/24 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
2019/04/02 PHP
安装docker和docker-compose实例详解
2019/07/30 PHP
javascript Demo模态窗口
2009/12/06 Javascript
解决js正则匹配换行问题实现代码
2012/12/10 Javascript
javascript函数作用域学习示例(js作用域)
2014/01/13 Javascript
jQuery实现加入购物车飞入动画效果
2015/03/14 Javascript
jquery判断密码强度的验证代码
2020/04/22 Javascript
javascript实现下拉提示选择框
2015/12/29 Javascript
js倒计时显示实例
2016/12/11 Javascript
html5 canvas 详细使用教程
2017/01/20 Javascript
Vue中之nextTick函数源码分析详解
2017/10/17 Javascript
详解webpack-dev-server使用http-proxy解决跨域问题
2018/01/13 Javascript
this.$toast() 了解一下?
2019/04/18 Javascript
jquery登录的异步验证操作示例
2019/05/09 jQuery
利用PHP实现递归删除链表元素的方法示例
2020/10/23 Javascript
[01:03:41]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第三场 2月2日
2021/03/11 DOTA
在Python中操作时间之strptime()方法的使用
2020/12/30 Python
Python的装饰器模式与面向切面编程详解
2015/06/21 Python
Python爬虫辅助利器PyQuery模块的安装使用攻略
2016/04/24 Python
Python爬取qq music中的音乐url及批量下载
2017/03/23 Python
对Python进行数据分析_关于Package的安装问题
2017/05/22 Python
python自带tkinter库实现棋盘覆盖图形界面
2019/07/17 Python
django框架模型层功能、组成与用法分析
2019/07/30 Python
Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签
2019/12/04 Python
From CSV to SQLite3 by python 导入csv到sqlite实例
2020/02/14 Python
使用HTML5和CSS3制作一个模态框的示例
2018/03/07 HTML / CSS
Giglio俄罗斯奢侈品购物网:男士、女士、儿童高级时装
2018/07/27 全球购物
莫斯科购买书籍网站:Book24
2020/01/12 全球购物
党员批评与自我批评
2014/02/12 职场文书
2014年情人节活动方案
2014/02/16 职场文书
校园安全标语
2014/06/07 职场文书
全国劳模先进事迹材料(2016精选版)
2016/02/25 职场文书