javascript的BOM

 更新时间:2016年05月03日 11:04:05   投稿:wulei  
BOM是浏览器的窗口对象,提供了很多窗口处理的API。在webapp框架越来越多的情况下,需要我们在同一窗口处理不同页面、不同的ajax数据,则需要我们熟悉BOM的内容。

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 对象。

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

2、location

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


3、history

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

4、navigator

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

5、screen

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

<!DOCTYPE html>
<html>
<head>
<script>
  console.log(screen);
</script>
</head>
<body>
  screen
</body>
</html>

相关文章

  • JavaScript If...Else 声明

    JavaScript If...Else 声明

    JavaScript If...Else 声明...
    2007-04-04
  • 关于JavaScript与HTML的交互事件

    关于JavaScript与HTML的交互事件

    本篇文章小编将为大家介绍,关于JavaScript与HTML的交互事件,有需要的朋友可以参考一下
    2013-04-04
  • IE网页js语法错误2行字符1、FF中正常的解决方法

    IE网页js语法错误2行字符1、FF中正常的解决方法

    使用模态窗体则会先弹出此错误然后再显示新打开的界面,经搜索找到不错的解决方法,有类似问题的朋友可以参考下,希望对大家有所帮助
    2013-09-09
  • IE下写xml文件的两种方式(fso/saveAs)

    IE下写xml文件的两种方式(fso/saveAs)

    Firefox等浏览器不支持写本地文件,这也是为了安全起见,下面与大家分享下IE下写xml文件的几种方式,感兴趣的朋友可以了解下,希望对大家有所帮助
    2013-08-08
  • JavaScript的代码编写格式规范指南

    JavaScript的代码编写格式规范指南

    这篇文章主要介绍了JavaScript的代码编写格式规范指南,文中所分享的一些细节基本上也是各大js代码格式化插件所默认约定俗成的,需要的朋友可以参考下
    2015-12-12
  • 全面了解js中的script标签

    全面了解js中的script标签

    下面小编就为大家带来一篇全面了解js中的script标签。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • 详解JavaScript设计模式开发中的桥接模式使用

    详解JavaScript设计模式开发中的桥接模式使用

    桥接模式的适用场合非常广泛,除了在事件回调函数与接口之间进行桥接外,桥接模式也可以用于连接公开的API代码和私用的实现代码,下面我们就来详解JavaScript设计模式开发中的桥接模式使用
    2016-05-05
  • javascript 基础篇2 数据类型,语句,函数

    javascript 基础篇2 数据类型,语句,函数

    文章里如果有错误的话,希望能帮忙指正~我也是边看视频边学习中,这个算是个笔记吧~自认为总结出来的东西比看视频要节省点时间~能帮到别人最好了~帮不到也起码恩能帮到我自己
    2012-03-03
  • javascript getElementsByName()的用法说明

    javascript getElementsByName()的用法说明

    当页面上的控件同名且多个的时候,你首先做的是什么?判断长度?的确,从程序的严密角度出发,我们是需要判断长度,而且有长度和没长度是两种引用方法.
    2009-07-07
  • Javascript基础教程之break和continue语句

    Javascript基础教程之break和continue语句

    文章通过示例向我们展示了javascript中的break和continue语句,两个对比起来,非常明了,需要的朋友可以参考下
    2015-01-01

最新评论