首页 > 其他分享 >BOM(Browser Object Model,浏览器对象模型)

BOM(Browser Object Model,浏览器对象模型)

时间:2024-04-14 09:44:23浏览次数:27  
标签:浏览器 对象 Object window BOM 窗口 Model location

BOM(Browser Object Model,浏览器对象模型)是指浏览器提供的一系列与浏览器窗口及脚本进行交互的对象和方法。BOM 与 DOM 有所不同,DOM 主要关注于 HTML 和 XML 文档的解析和访问,而 BOM 则更侧重于浏览器窗口和框架,以及浏览器与脚本之间的交互。

BOM 提供了一些核心对象,这些对象允许开发者与浏览器窗口及其组件进行交互。以下是 BOM 中的一些核心对象:

Window 对象:BOM 的顶层对象,它代表浏览器窗口或者一个标签页。所有全局 JavaScript 对象、函数和变量自动成为 window 对象的成员。window 对象的方法和属性允许我们控制浏览器窗口的行为,如打开新窗口、关闭窗口、滚动页面等。

Location 对象:用于获取或设置窗口的 URL,并可以用于解析 URL 的各个组成部分。例如,location.href 属性可以获取或设置当前页面的完整 URL,location.reload() 方法可以重新加载当前页面。

Navigator 对象:包含有关浏览器的信息,如浏览器名称、版本、渲染引擎等。这个对象的信息可以用来确定用户正在使用的浏览器类型和版本,以便编写跨浏览器的代码。

Screen 对象:包含有关客户端屏幕的信息,如屏幕宽度、高度、像素比等。这些信息可以用于调整网页的布局或设计,以适应不同大小的屏幕。

History 对象:提供了与浏览器历史记录进行交互的功能,允许你前进或后退到浏览器历史中的不同页面。例如,history.back() 方法相当于点击浏览器的后退按钮。

Document 对象:虽然 Document 对象属于 DOM 的一部分,但它是通过 BOM 的 Window 对象访问的。通过 Window 对象的 document 属性,我们可以访问和修改 DOM。

通过 BOM,JavaScript 可以控制浏览器窗口的行为,包括打开新窗口、关闭窗口、导航到新的 URL、更新浏览器历史记录等。这使得 JavaScript 能够与浏览器进行更紧密的集成,创建出更丰富、更交互式的网页应用。

需要注意的是,由于 BOM 的某些功能和特性依赖于特定的浏览器实现,因此在使用 BOM 时需要考虑到跨浏览器兼容性的问题。不同的浏览器可能会对 BOM 的某些方法和属性有不同的实现或支持程度,因此开发者需要仔细测试他们的代码以确保在各种浏览器上都能正常工作。

Window
介绍:浏览器窗口对象。
获取:直接使用window,其中window,可以省略。window.alert("Hello Window"); alert("Hello Window");
属性:1、history:对History对象的只读引用。请参阅History对象。
2、location:用于窗口或框架的Location对象。请参阅Location对象。
3、navigator:对Navigator对象的只读引用。请参阅Navigator对象。
方法:1、alert():显示带有一段消息和一个确定按钮的警告框。
2、confirm():显示带有一段消息以及确认按钮和取消按钮的对话框。
3、setlnterval():按照指定的周期(以毫秒计)来调用函数或计算表达式。
4、setTimeout():在指定的毫秒数后调用函数或计算表达式。

Location
介绍:地址栏对象。
获取:使用window.location获取,其中window.可以省略。window.location.属性; location.属性;
属性:href:设置或返回完整的URL。location.href = "https://www.itcast.cn";

标签:浏览器,对象,Object,window,BOM,窗口,Model,location
From: https://www.cnblogs.com/daysold/p/18133777

相关文章

  • Qt | 一文总结QObject
    Qt|一文总结QObject来源 https://zhuanlan.zhihu.com/p/608004472 一、QObject的重要知识QObject是Qt对象模型的核心。这个模型的核心特性是一个强大的无缝对象通信机制,即信号和槽。可以使用connect()将信号连接到槽函数,并使用disconnect()破坏已经存在的连接。为了避免永......
  • WPF新建viewModel实例化成员的注意事项
    不要用表达式体去初始化一个用做数据源(比如ItemSource)的引用类型成员。比如这种publicList<MainWindowItem>Items=>newList<MainWindowItem>(){newMainWindowItem{title="项目管理",icon="\ue613",type=typeof(项目管理Control),group="内部管理"},new......
  • 52 Things: Number 51: What is the security model for ID-based encryption, and de
    52Things:Number51:WhatisthesecuritymodelforID-basedencryption,anddescribeoneIBEscheme.52件事:第51件:基于ID的加密的安全模型是什么,并描述一个IBE方案。 Thisisthelatestinaseriesofblogpoststoaddressthelistof '52ThingsEveryPhDStu......
  • OpenFOAM查看Y+报错:Unable to find turbulence model in the database
    计算完成并使用 reconstructPar 重组计算结果之后,使用 postProcess-funcyPlus 查看Y+,报错显示:-->FOAMFATALERROR:UnabletofindturbulencemodelinthedatabaseFromfunctionvirtualboolFoam::functionObjects::yPlus::execute()infileyPlus/yPlu......
  • Object.defineProperty 和new Proxy深度检测
    <!DOCTYPEhtml><htmllang="en"><head> <metacharset="UTF-8"> <metahttp-equiv="X-UA-Compatible"content="IE=edge"> <metaname="viewport"content="width=device......
  • 【论文随笔】推荐系统综述_推荐模型、推荐技术与应用领域(A Survey of Recommendation
    前言今天读的论文为一篇于2022年1月3日发表的论文,这篇文章是关于推荐系统的综述,主要研究了推荐系统在不同服务领域的应用趋势,包括推荐模型、技术和应用领域。通过分析2010年至2021年间发表的顶级文章和顶级会议论文,系统化了推荐系统模型和技术的研究,并分析了按年份的研究趋势。文......
  • 2-64. 使用 Unity 最新 ObjectPool API 制作对象池
    创建PoolManager修改EventHandler修改CropDetails修改Crop修改PoolManager修改CropDataList_SO修改PoolManager作业做好Tree02项目相关代码代码仓库:https://gitee.com/nbda1121440/farm-tutorial.git标签:20240411_1542......
  • Django ModelSerializer 中如何实现自定义验证
    随着Web开发的日益复杂化,对数据验证的需求也日益增加。DjangoRESTframework提供了一套强大的、灵活的验证系统,帮助开发者轻松处理各种复杂情况。本文将重点探讨DjangoModelSerializer中如何实现自定义验证。1.简介DjangoModelSerializer不仅简化了序列化过程,还内建了......
  • Bridging Causal Discovery and Large Language Models
    本文是LLM系列文章,针对《BridgingCausalDiscoveryandLargeLanguageModels:AComprehensiveSurveyofIntegrativeApproachesandFutureDirections》的翻译。连接因果发现和大型语言模型:集成方法和未来方向的综合综述摘要1引言2背景3问题定义4当前的......
  • A Comprehensive Evaluation of Sequential Memory Editing in Large Language Models
    本文是LLM系列文章,针对《NavigatingtheDualFacets:AComprehensiveEvaluationofSequentialMemoryEditinginLargeLanguageModels》的翻译。双向导航:大型语言模型中顺序记忆编辑的综合评价摘要1引言2相关工作3符号和背景4实验设置5ME对LLM的评估......