我理解的BOM

简介: BOM(Browser ObjectModel) 是指浏览器对象模型,是用于描述这种对象与对象之间层次关系的模型,浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。BOM由多个对象组成,其中代表浏览器窗口的Window对象是BOM的顶层对象,其他对象都是该对象的子对象。

上一篇说道DOM的基础知识,这次我们继续从概念上理解JS的内容,给大家带来BOM。


  百度一下:

  BOM(Browser ObjectModel) 是指浏览器对象模型,是用于描述这种对象与对象之间层次关系的模型,浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。BOM由多个对象组成,其中代表浏览器窗口的Window对象是BOM的顶层对象,其他对象都是该对象的子对象。


  联系上一篇DOM的知识,JS进行DOM操作包括两个方面的内容:

  Browser对象(BOM)浏览器窗口:

  操作浏览器的url,前进,后退。


  格式:Window.***,因为bom操作的对象是浏览器窗口(window),所以,可以直接使用;


  Html dom:浏览器中的白色区域内的所有内容:

  document,狭义的dom:html开始到html结束 htmldom,是bom的一部分;


  格式:(Window.)document.***


20161104205811724.png


为什么说是狭义的dom呢?

在上一篇中我们说过DOM是W3C的标准,定义了HTML和XML文档的标准,所以,DOM


不是只针对HTML。


W3C DOM 标准其实被分为 3 个不同的部分:


核心 DOM - 针对任何结构化文档的标准模型


XML DOM - 针对 XML 文档的标准模型


HTML DOM - 针对 HTML 文档的标准模型


我们在这里说的狭义的dom,即html dom。


一张图来解释它们之间的关系:


20161104205845220.png

 


history:浏览器的浏览历史;


location对象:代表当前显示的文档的地址;


Navigator对象:提供有关浏览器的各种信息;


Screen对象:提供有关浏览器的各种信息如坐标信息;


Frames[]:为window对象的数组型属性,每一个数组元素对应框架集9frameset0中的一个框架(frame)所对应的窗口。这些框架在HTML中使用标签<frames>即可添加;


以上是我从概念上对Bom的理解,接下来就期待在代码中的实现了。


推荐阅读:


http://blog.csdn.net/java_zhaoyanli/article/details/50959338


http://wenku.baidu.com/link?url=Y481Kv_nguXBThv0j0cqnWYISgVIfBv3gLISFKqXytsFkqNWb0pSsMNkDDa8Uki6mRsatuRF4_hzYmFppy7iH-_yTKmIYIS5j9xgthvou1e


































相关文章
|
API
【数据结构】循环链表API及实现(一)
【数据结构】循环链表API及实现
218 0
【数据结构】循环链表API及实现(一)
|
机器学习/深度学习
模式识别与机器学习(1) 皮肤检测
基于贝叶斯判决皮肤检测的简单实现
230 0
模式识别与机器学习(1) 皮肤检测
|
大数据 数据库 存储
|
Web App开发 测试技术 Linux
Tomcat启动缓慢
tomcat8在linux(centos,ubuntu)下去官方下载tomcat zip包安装。 删除webapps里面的内容,只保留ROOT、在里面放了个index.html 然后启动 ./bin/catalina.sh run 启动非常慢,观察到是几分钟左右。
1396 0
|
2天前
|
云安全 人工智能
2025,阿里云安全的“年度报告”
拥抱AI时代,阿里云安全为你护航~
1439 1
|
9天前
|
云安全 人工智能 算法
以“AI对抗AI”,阿里云验证码进入2.0时代
三层立体防护,用大模型打赢人机攻防战
1415 10
|
9天前
|
机器学习/深度学习 安全 API
MAI-UI 开源:通用 GUI 智能体基座登顶 SOTA!
MAI-UI是通义实验室推出的全尺寸GUI智能体基座模型,原生集成用户交互、MCP工具调用与端云协同能力。支持跨App操作、模糊语义理解与主动提问澄清,通过大规模在线强化学习实现复杂任务自动化,在出行、办公等高频场景中表现卓越,已登顶ScreenSpot-Pro、MobileWorld等多项SOTA评测。
1330 7
|
10天前
|
人工智能 Rust 运维
这个神器让你白嫖ClaudeOpus 4.5,Gemini 3!还能接Claude Code等任意平台
加我进AI讨论学习群,公众号右下角“联系方式”文末有老金的 开源知识库地址·全免费
1208 15
|
4天前
|
人工智能 前端开发 API
Google发布50页AI Agent白皮书,老金帮你提炼10个核心要点
老金分享Google最新AI Agent指南:让AI从“动嘴”到“动手”。Agent=大脑(模型)+手(工具)+协调系统,可自主完成任务。通过ReAct模式、多Agent协作与RAG等技术,实现真正自动化。入门推荐LangChain,文末附开源知识库链接。
454 118

热门文章

最新文章