BOM与DOM的区别分析


Posted in Javascript onOctober 26, 2010

BOM与DOM的区别

§DHTML技术各项功能的实现都依赖于使用客户端脚本与浏览器宿主及在宿主中输出的Web页面之间的交互,这种交互是通过对象这个技术手段实现的。

§BOM即Browser Object Model浏览器对象模型,是在客户端脚本核心的基础上实现的扩展API,通过该API可以使用脚本访问浏览器窗口及其文档对象的各个方面。BOM从IE3.0/NS3.0开始引入。

§在BOM API中,把Web浏览器的各个主要外显特性、Web页面及其标记、内容等都封装成一个个对象,通过这些对象提供的成员访问窗口、文档、元素对象等,并在此基础上实现了对象的事件支持机制。所有BOM对象之间存在一定的关联关系。

§学习BOM技术主要就是学习如何利用客户端脚本使用BOM对象,通过这些封装的BOM对象可实现很多DHTML功效。

§BOM技术不是标准化的Web技术,因浏览器而异。正因为如此大大限制了DHTML技术的应用领域和发展前景。

§不同浏览器实现的BOM技术并不统一,这是造成DHTML技术实现差异的主要原因,由此W3C在BOM技术的基础上进行扩充与改善、优化,制定了新的统一技术规范标准,即DOM(Document Object Model)文档对象模型技术。

§DOM技术最初是针对XML文档的解析与控制而制定的技术规范,但可把HTML文档XML化成XHTML文档,使用DOM技术来访问Web页面文档中的各类对象。

§目前W3C为DOM技术规范制定了三个不同的级别,即DOM Level 1/2/3。IE5/NS6开始全面支持DOM Level 1。有时有人也把BOM技术称为DOM Level 0[W3C官方没有此说法!]。

§DOM技术的核心是把XML(包括XHTML)文档结构解析为树状结构,每个标记看作是一个节点Node,各节点之间存在某种关系,并通过这些关系来相互访问。

§DOM技术与XML技术密切相关,涉及的技术内容庞杂,学习难度较高,但掌握了BOM技术后再学习DOM技术就有一定的帮助。

§不仅可以在JavaScript之类的脚本语言中使用DOM技术,在Java之类的重量级程序设计语言中也广泛使用DOM技术。

Javascript 相关文章推荐
JSON格式的键盘编码对照表
Jan 29 Javascript
js焦点文字滚动效果代码分享
Aug 25 Javascript
使用jQuery获取data-的自定义属性
Nov 10 Javascript
JavaScript的History API使搜索引擎抓取AJAX内容
Dec 07 Javascript
jquery html5 视频播放控制代码
Nov 06 Javascript
JQuery异步提交表单与文件上传功能示例
Jan 12 Javascript
十大热门的JavaScript框架和库
Mar 21 Javascript
Angular2下使用pdf插件的方法详解
Apr 29 Javascript
JS非空验证及邮箱验证的实例
Aug 11 Javascript
浅谈Vue.set实际上是什么
Oct 17 Javascript
微信小程序国际化探索实现(附源码地址)
May 20 Javascript
vue实现下拉菜单树
Oct 22 Javascript
js下判断 iframe 是否加载完成的完美方法
Oct 26 #Javascript
Javascript下判断是否为闰年的Datetime包
Oct 26 #Javascript
基于jquery的给文章加入关键字链接
Oct 26 #Javascript
EasyUi tabs的高度与宽度根据IE窗口的变化自适应代码
Oct 26 #Javascript
自写的一个jQuery圆角插件
Oct 26 #Javascript
jQuery获取地址栏参数插件(模仿C#)
Oct 26 #Javascript
自制轻量级仿jQuery.boxy对话框插件代码
Oct 26 #Javascript
You might like
PHP+redis实现的限制抢购防止商品超发功能详解
2019/09/19 PHP
七种PHP开发环境搭建工具
2020/06/28 PHP
用jscript启动sqlserver
2007/06/21 Javascript
JQuery操作Select的Options的Bug(IE8兼容性视图模式)
2013/04/21 Javascript
javascript 获取图片尺寸及放大图片
2013/09/04 Javascript
基于jquery实现一张图片点击鼠标放大再点缩小
2013/09/29 Javascript
微信WeixinJSBridge API使用实例
2015/05/25 Javascript
详细分析使用AngularJS编程中提交表单的方式
2015/06/19 Javascript
jQGrid动态填充select下拉框的选项值(动态填充)
2016/11/28 Javascript
基于bootstrap实现收缩导航条
2017/03/17 Javascript
Vue中引入样式文件的方法
2017/08/18 Javascript
详解vue + vuex + directives实现权限按钮的思路
2017/10/24 Javascript
解决iview多表头动态更改列元素发生的错误的方法
2018/11/02 Javascript
微信小程序wx.navigateTo中events属性实现页面间通信传值,数据同步
2019/07/13 Javascript
解决vue单页面修改样式无法覆盖问题
2019/08/05 Javascript
javascript的惯性运动实现代码实例
2019/09/07 Javascript
JS实现普通轮播图特效
2020/01/01 Javascript
jQuery实现鼠标放置名字上显示详细内容气泡提示框效果的方法分析
2020/04/04 jQuery
解决vue无法侦听数组及对象属性的变化问题
2020/07/17 Javascript
在GitHub Pages上使用Pelican搭建博客的教程
2015/04/25 Python
在Python的Django框架中加载模版的方法
2015/07/16 Python
pandas dataframe的合并实现(append, merge, concat)
2019/06/24 Python
Django serializer优化类视图的实现示例
2020/07/16 Python
Python Tricks 使用 pywinrm 远程控制 Windows 主机的方法
2020/07/21 Python
CSS3盒子模型详解
2013/04/24 HTML / CSS
css3旋转木马_动力节点Java学院整理
2017/07/12 HTML / CSS
卡塔尔航空官方网站:Qatar Airways
2017/02/08 全球购物
澳大利亚波西米亚风情网上商店:Czarina
2019/03/18 全球购物
Lookfantastic阿联酋官网:英国知名美妆护肤购物网站
2020/05/26 全球购物
英国排名第一的冲浪店:Ann’s Cottage
2020/06/21 全球购物
肯尼迪就职演说稿
2013/12/31 职场文书
策划总监岗位职责
2014/02/16 职场文书
小学评语大全
2014/04/22 职场文书
小学教师师德师风自我剖析材料
2014/09/29 职场文书
实习单位意见
2015/06/04 职场文书
如何使用Python对NetCDF数据做空间相关分析
2021/04/21 Python