DOM & BOM :起源、方法、内容、应用

文档对象模型 (DOM):处理网页内容的方法和接口

浏览器对象模型(BOM):与浏览器交互的方法和接口

1. DOM 是 W3C的标准;[所有浏览器公共遵守的标准]
2. BOM 是 各个浏览器厂商根据 DOM
在各自浏览器上的实现;[表现为不同浏览器定义有差别,实现方式不同]
3. window 是 BOM对象,而非js对象;

DOM(文档对象模型)是 HTML 和 XML 的应用程序接口(API)。

BOM 主要处理浏览器窗口和框架,不过通常浏览器特定的 JavaScript 扩展都被看做 BOM 的一部分。这些扩展包括:

弹出新的浏览器窗口

移动、关闭浏览器窗口以及调整窗口大小

提供 Web 浏览器详细信息的定位对象

提供用户屏幕分辨率详细信息的屏幕对象

对 cookie 的支持

IE 扩展了 BOM,加入了ActiveXObject类,可以通过JavaScript实例化ActiveX对象

javacsript是通过访问BOM(Browser Object Model)对象来访问、控制、修改客户端(浏览器),由于BOM的window包含了document,window对象的属性和方法是直接可以使用而且被感知的,因此可以直接使用window对象的document属性,通过document属性就可以访问、检索、修改XHTML文档内容与结构。因为document对象又是DOM(Document Object Model)模型的根节点。可以说,BOM包含了DOM(对象),浏览器提供出来给予访问的是BOM对象,从BOM对象再访问到DOM对象,从而js可以操作浏览器以及浏览器读取到的文档。其中
DOM包含:window

Window对象包含属性:document、location、navigator、screen、history、frames

Document根节点包含子节点:forms、location、anchors、images、links

从window.document已然可以看出,DOM的最根本的对象是BOM的window对象的子对象。

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

DOM定义了一个HTMLDocument和HTMLElement做为这种实现的基础,就是说为了能以编程的方法操作这个 HTML 的内容(比如添加某些元素、修改元素的内容、删除某些元素),我们把这个 HTML 看做一个对象树(DOM树),它本身和里面的所有东西比如 <div></div> 这些标签都看做一个对象,每个对象都叫做一个节点(node),节点可以理解为 DOM 中所有 Object 的父类。

BOM

BOM 是 Browser Object Model,浏览器对象模型。

刚才说过 DOM 是为了操作文档出现的接口,那 BOM 顾名思义其实就是为了控制浏览器的行为而出现的接口。

浏览器可以做什么呢?比如跳转到另一个页面、前进、后退等等,程序还可能需要获取屏幕的大小之类的参数。

所以 BOM 就是为了解决这些事情出现的接口。比如我们要让浏览器跳转到另一个页面,只需要

location.href = "http://www.xxxx.com";

这个 location 就是 BOM 里的一个对象。

window

window 也是 BOM 的一个对象,除去编程意义上的“兜底对象”之外,通过这个对象可以获取窗口位置、确定窗口大小、弹出对话框等等。例如我要关闭当前窗口:

window.close();

DOM 是为了操作文档出现的 API,document 是其的一个对象;
BOM 是为了操作浏览器出现的 API,window 是其的一个对象。

原文地址:https://www.cnblogs.com/Cheyenne-007/p/9855173.html

时间: 2024-08-29 22:49:58

DOM & BOM :起源、方法、内容、应用的相关文章

DOM&amp;BOM笔记

day01正课:1. DOM概述2. ***DOM树3. *查找 1. DOM概述: DHTML:动态网页技术的统称 DHTML=HTML+CSS+JS 鄙视题: HTML XHTML DHTML XML: HTML:超文本标记语言,专门编写网页内容的语言 XHTML:严格的HTML语言标准 DHTML:动态网页技术的统称,=HTML+CSS+JS XML:可扩展的标记语言,可自定义标签 专门用来存储/传输自描述的结构化数据 逐渐被json替代了 <演员> <姓名>范冰冰</

DOM&amp;BOM

DOM&BOM 文档对象模型 (DOM):处理网页内容的方法和接口 浏览器对象模型(BOM):与浏览器交互的方法和接口 BOM window对象:浏览器中打开的窗口 ① 如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象. ② window.frames 返回窗口中所有命名的框架 ③parent是父窗口(如果窗口是顶级窗口,那么parent==self==top) top是最顶级父窗口(有

Android DOM解析XML方法及优化

在Android应用开发中,我们常常要在应用启动后从服务器下载一些配置文件,这些配置文件包含一些项目中可能用到的资源,这些文件很多情况下是XML文件,这时就要将XML下载到文件中保存,之后再解析XML.解析XML的方法有DOM, SAX, JDOM, DOM4J,本文中只使用了DOM,下面先介绍DOM的基础知识和解析XML的方法,然后再结合一个项目实例来实现从XML文件的下载到解析整个过程. DOM(Document Object Model,文档对象模型)定义了访问和操作XML的标准方法.基于

不常用的寻找dom节点的方法

有关表格的两个对象获取方式 var tab = document.getElementById(“tab1”)          ;        //假设tab1是一个table的id,则: var allRow = tab.rows;    //代表tab的所有行, 也是一个集合,也可以使用tab.getElementsByTagName("tr") var oneRow = allRow[0]; //表示tab中的第一行(第一个tr) var allTd = oneRow.cel

XML DOM -属性和方法

XML DOM - 属性和方法 属性和方法向 XML DOM 定义了编程接口. 编程接口 DOM 把 XML 模拟为一系列节点对象.可通过 JavaScript 或其他编程语言来访问节点.在本教程中,我们使用 JavaScript. 对 DOM 的编程接口是通过一套标准的属性和方法来定义的. 属性经常按照"某事物是什么"的方式来使用(例如节点名是 "book"). 方法经常按照"对某事物做什么"的方式来使用(例如删除 "book&quo

org.w3c.dom.Node.getTextContent()方法编译错误-已解决

org.w3c.dom.Node.getTextContent()方法编译错误. 在项目的Java Build Path | Order and Export选项卡中,将JRE System Library选中,并Top置顶.然后再进行编译即可. 参考: https://blog.csdn.net/maoxiao1229/article/details/51694553 原文地址:https://www.cnblogs.com/wrong/p/10441783.html

JS之BOM和DOM(来源、方法、内容、应用)

1.Javascript组成 JavaScript的实现包括以下3个部分: 1)核心(ECMAScript):描述了JS的语法和基本对象. 2)文档对象模型 (DOM):处理网页内容的方法和接口 3)浏览器对象模型(BOM):与浏览器交互的方法和接口 ECMAScript扩展知识: ① ECMAScript是一个标准,JS只是它的一个实现,其他实现包括ActionScript. ② "ECMAScript可以为不同种类的宿主环境提供核心的脚本编程能力--",即ECMAScript不与具

dom&amp;bom的起源,发展和应用

1.dom dom,文档对象模型.dom是 w3c(万维网联盟)的标准,dom定义了访问html和xml文档的标准.在w3c的标准中,dom是独于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容.结构和样式. dom可被 JavaScript 用来读取.改变 HTML.XHTML 以及 XML 文档.DOM 被分为不同的部分(核心.XML及HTML)和级别(DOM Level 1/2/3). 根据W3C DOM规范,dom是html与xml的应用编程接口(API),DOM将整个页面映

动态创建html内容时所用的W3C DOM属性和方法

document的属性和方法:  document.createElement(tagName) :文档对象上的createElement方法可以创建由tagName指定的元素.如果以串div作为方法参数,就会生成一个div元素.  document.createTextNode(text) :文档对象的createTextNode方法会创建一个包含静态文本text的文本节点.  document.createAttribute(): 用指定的名字创建新的Attr节点.  document.cr