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之dhDataGrid Ver2.0.0代码
Jul 01 Javascript
利用javascript实现一些常用软件的下载导航
Aug 03 Javascript
JS简单实现城市二级联动选择插件的方法
Aug 19 Javascript
jQuery实现的fixedMenu下拉菜单效果代码
Aug 24 Javascript
浅谈js中字符和数组一些基本算法题
Aug 15 Javascript
Angular.JS判断复选框checkbox是否选中并实时显示
Nov 30 Javascript
详解js树形控件—zTree使用总结
Dec 28 Javascript
基于jQuery制作小图标上下滑动特效
Jan 18 Javascript
ajax分页效果(bootstrap模态框)
Jan 23 Javascript
详解让sublime text3支持Vue语法高亮显示的示例
Sep 29 Javascript
详解js的作用域、预解析机制
Feb 05 Javascript
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
Dec 11 jQuery
原生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
不用数据库的多用户文件自由上传投票系统(2)
2006/10/09 PHP
PHP中使用php5-ffmpeg撷取视频图片实例
2015/01/07 PHP
PHP使用反射机制实现查找类和方法的所在位置
2016/04/22 PHP
浅谈PHP的数据库接口和技术
2016/12/09 PHP
thinkPHP5框架设置404、403等http状态页面的方法
2018/06/05 PHP
PHP 观察者模式深入理解与应用分析
2019/09/25 PHP
laravel邮件发送的实现代码示例
2020/01/31 PHP
IE6与IE7中,innerHTML获取param的区别
2009/03/15 Javascript
jQuery 数据缓存data(name, value)详解及实现
2010/01/04 Javascript
Jquery 模拟用户点击超链接或者按钮的方法
2013/10/25 Javascript
ExtJS 刷新后如何默认选中刷新前最后一次选中的节点
2014/04/03 Javascript
5种处理js跨域问题方法汇总
2014/12/04 Javascript
javascript实现的简单的表单验证
2015/07/10 Javascript
jquery实现鼠标滑过小图查看大图的方法
2015/07/20 Javascript
Jquery 分页插件之Jquery Pagination
2015/08/25 Javascript
JavaScript中获取纯正的undefined的方法
2016/03/06 Javascript
详解ECharts使用心得总结
2016/12/06 Javascript
jQuery图片轮播功能实例代码
2017/01/29 Javascript
vue过渡和animate.css结合使用详解
2017/06/14 Javascript
bootstrap是什么_动力节点Java学院整理
2017/07/14 Javascript
jQuery实现所有验证通过方可提交的表单验证
2017/11/21 jQuery
node.js读取Excel数据(下载图片)的方法示例
2018/08/02 Javascript
vue-cli3.0 脚手架搭建项目的过程详解
2018/10/19 Javascript
JavaScript实现简易聊天对话框(加滚动条)
2020/02/10 Javascript
Python开发常用的一些开源Package分享
2015/02/14 Python
Python 中urls.py:URL dispatcher(路由配置文件)详解
2017/03/24 Python
python操作日志的封装方法(两种方法)
2019/05/23 Python
简单了解python关键字global nonlocal区别
2020/09/21 Python
HTML5+CSS3绘制锯齿状的矩形
2016/03/01 HTML / CSS
de Bijenkorf比利时官网:荷兰最知名的百货商店
2017/06/29 全球购物
sleep()方法和wait()方法的区别是什么
2012/11/17 面试题
蛋糕店创业计划书
2014/05/06 职场文书
小学生迎国庆演讲稿
2014/09/05 职场文书
2014办公室副主任四风对照检查材料思想汇报
2014/09/20 职场文书
标准版个人借条怎么写?以及什么是借条?
2019/08/28 职场文书
javascript条件式访问属性和箭头函数介绍
2021/11/17 Javascript