学习JavaScript Bom(文档对象模型)

一.Bom 是什么?

DOM(文档对象模型)和 BOM(浏览器对象模型)(关于浏览器操作的API)是 JavaScript 编程中常用的两种操作对象模型。DOM 操作 HTML 文档,而 BOM 则负责处理浏览器窗口和工具栏等浏览器功能的相关操作

API:  是指可以实现特定功能的属性和方法.  浏览器 :是一种客户端软件,可以解析网页(web)

二.Bom提供了什么对象?

BOM 提供了一种访问浏览器窗口和工具栏以及其他浏览器功能的方式

//关于BOM操作的属性和方法window location history navigator screen  document 

 三.它们分别提供了什么作用?

window 对象代表了当前浏览器窗口或标签页。开发者可以使用 window 对象来访问浏览器导航历史、定时器、警报框等功能。还可以使用窗口对象的方法打开新窗口、关闭当前窗口、调整窗口大小等

 location 对象代表了包含当前文档的浏览器窗口的位置。开发者可以使用 location 对象获取当前文档的 URL、修改 URL 以及在新窗口中打开 URL 等

navigator 对象代表了浏览器本身,开发者可以使用 navigator 对象获取浏览器名称、版本、操作系统类型等信息。

screen 对象代表了用户屏幕的属性,如屏幕分辨率、色彩位数等。

history 对象代表了浏览器的历史记录,开发者可以使用 history 对象访问前进或后退的历史

 四.了解不同对象的用法!

1.window对象

 // window对象//系统弹窗window.alert('111')window.prompt('请输入')window.confirm('您确定要离开吗')
//定时器
setTimeout(function(){console.log('test');},1000)

2.location对象

// 获取网页地址console.log(location.href);// http://127.0.0.1:5500/javascript%E5%B9%B4%E5%90%8E/%E7%AC%AC%E4%B8%80%E5%A4%A9/code/03-location%E5%AF%B9%E8%B1%A1.htmlvar v1 = decodeURIComponent(location.href);console.log(v1);// http://127.0.0.1:5500/javascript年后/第一天/code/03-location对象.html// 编码var k = encodeURIComponent("你好世界");console.log(k);//%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C// 获取路径的参数  寻找?后面内容console.log(location.search);//?page=1&pageSize=100   网页地址跟在问号后面的部分// 获取路径中的锚点值  带#号后面的数据console.log(location.hash);//#/login?page=1&pageSize=100// 获取路径中的端口 (0~65535)// 端口:设备与外界通信的出口  (0~65535)console.log(location.port); //5500// 获取路径中的协议// 协议:一种网络通信的约定/规则console.log(location.protocol); //http:// IP  地址/位置console.log(location.hostname); //127.0.0.1// 页面刷新的方法// location.reload()

3.history对象

 // history 对象(浏览器历史记录信息对象)console.log(history);// 全局函数  可前进一个历史记录的函数function goForWard() {// 前进一个历史记录,必须是点击过某链接有前进的过的动作才有用history.forward();}//  可后退一个历史记录的函数function goBack() {// 返回上一级历史history.back();}

4.navigator对象

  // navigator  对象(客户设备信息对象)console.log(navigator);// 获取客户端信息var userAgent = navigator.userAgent;console.log(userAgent);//我们可以对设备进行获取与判断// 封装函数获取设备信息function getDevice() {var userAgent = navigator.userAgent;// 判断这个字段是否存在,不存在则为-1if (userAgent.indexOf("iPhone") > -1) {return "ios";} else if (userAgent.indexOf("Android") > -1) {return "android";} else if (userAgent.indexOf("Windows") > -1) {return "pc";} else {return "未知";}}console.log(getDevice());

5.screen对象

   // 设备宽高(设备屏幕信息对象)console.log(screen);

6.cookie对象!!!

cookie 是一种浏览器缓存数据的一种机制(缓存数据的方式)

要在http协议下才能使用,文档协议打开用不了

作用 :缓存数据、共享数据

弊端:数据体积小,约4kb(20条)

 // 使用:// 设置cookie  缓存数据document.cookie = "color=red; expires=" + (new Date("2024-2-25"));// 获取cookie缓存数据var str = document.cookie;console.log("缓存的数据:", str);// 删除cookie缓存数据document.cookie = "color=; expires=" + (new Date("1970-1-1"));

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/786883.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

物联网学习2、MQTT 发布/订阅模式介绍

MQTT 发布/订阅模式 发布订阅模式(Publish-Subscribe Pattern)是一种消息传递模式,它将发送消息的客户端(发布者)与接收消息的客户端(订阅者)解耦,使得两者不需要建立直接的联系也不…

Mac - Keychron K3 Pro 功能键改键 -via 改键配置 For Mac

前言 Keychron K3 Pro键盘连接Mac使用,顶部一排功能键,默认是Mac的多媒体功能键。F1~F12功能键,需要按:Fn F1~F12。 而在我的日常工作中,常用的是F1~F12,期望F1~F12功…

PHP函数、文件包含简介

一、函数 函数本质就是一段代码 在函数的代码中,通常是用于完成一个需要重复执行的操作 同故宫使用函数,可以将哪些需要重复执行的操作,定义成一个函数名,当需要执行这些操纵的时候,直接调用这个函数名就可以 通过函数…

GWO-CNN-BiLSTM多输入回归预测|灰狼群算法优化的卷积-双向长短期神经网络|Matlab

目录 一、程序及算法内容介绍: 基本内容: 亮点与优势: 二、实际运行效果: 三、算法介绍: 四、完整程序下载: 一、程序及算法内容介绍: 基本内容: 本代码基于Matlab平台编译&…

超声波清洗机能洗哪些东西?适合洗眼镜超声波清洗机排行榜

在现代生活的忙碌节奏中,寻找高效而又便捷的清洁解决方案成为了众多家庭的追求。超声波清洗机,作为一种革新的清洁设备,以其深入细微、温和而高效的清洗方式,赢得了广泛的关注和好评。它能够操作简便地清洁各种物品,从…

《编程菜鸟学 Python 数据分析》让工作自动化起来!

随着我国企业数字化和信息化的深入,企业对办公自动化的效率和灵活性要求越来越高。Python作为一种开源的软件应用开发方式,通过提供强大丰富的库文件包,极大地简化了应用开发过程,降低了技术门槛。Python开发有哪些优势、挑战以及…

【A-006】基于SSH的新闻发布系统(含论文)

【A-006】基于SSH的新闻发布系统(含论文) 开发环境: Jdk7(8)Tomcat7(8)MySQLIntelliJ IDEA(Eclipse) 数据库: MySQL 技术: SpringStruts2HiberanteJSPJquery 适用于: 课程设计,毕业设计&…

fpga_hdmi

HDMI简介: 高清晰度多媒体端接口,通常用来连接一些音视频设备,进行高质量的传输,能够同时传输音频信号和视频信号。而且在传输速度上具有较大的优势。 通过hdmi接口进行数据传输时,不需要切换模块,或者提前设置转换。…

SWM341系列应用(USB应用)

1、测SWM341的主机功能,需要注意: SWM341的Host功能只支持Full Speed通信,好多U盘和tf读卡器都只支持High Speed,341无法与之通信 另外,测SWM341 Host的HID_Mouse例程时,好多鼠标都是Low Speed的&#xf…

OpenAI 终于想起GPT Store付费计划

OpenAI 终于想起GPT Store付费计划。 开发者用GPT模型做出有价值的东西,OpenAI就会根据这个价值给他们支付费用。 OpenAI想通过这个方式激励开发者,让他们更积极地参与到GPT的生态系统建设中来。 目前,这个计划是在美国的开发者中进行测试…

【洛谷】P9240 [蓝桥杯 2023 省 B] 冶炼金属

题目链接 P9240 [蓝桥杯 2023 省 B] 冶炼金属 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路 这道题可以用数学的方法去做,但是我想不到😇有兴趣的可以去看看数学的题解 比较简单的思路就是二分查找,轻松简单不费脑,带你…

NOSQL - Redis的简介、安装、配置和简单操作

目录 一. 知识了解 1. 关系型数据库与非关系型数据库 1.1 关系型数据库 1.2 非关系型数据库 1.3 区别 1.4 非关系型数据库产生背景 1.5 NOSQL 与 SQL的数据记录对比 2. 缓存相关知识 2.1 缓存概念 2.2 系统缓存 2.3 缓存保存位置及分层结构 二 . redis 相关知识 1.…

【tcpdump 命令】

tcpdump 命令 概述常见用法执行 tcpdump -h 就能看见了。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/0694be5e8e0647ab929b116488ee74ef.png) 每个参数的详细解释:见[菜鸟教程](https://www.runoob.com/linux/linux-comm-tcpdump.html)。 tcpdump …

SAM中离线使用bert-base-uncased的方法

下载huggingface-bert-base-uncased中列出的必要文件,包括config.json、flax_model.msgpack、pytorch_model.bin、tf_model.h5、tokenizer.json、tokenizer_config.json、vocab.txt。 步骤2:将下载的文件(步骤1中的文件)放入你的…

《手把手教你》系列技巧篇(六十六)-java+ selenium自动化测试 - 读写excel文件 - 上篇(详细教程)

1.简介 在自动化测试,有些我们的测试数据是放到excel文件中,尤其是在做数据驱动测试的时候,所以需要懂得如何操作获取excel内的内容。由于java不像python那样有直接操作Excle文件的类库,所以我们必须借助第三方工具:P…

【wu-acw-client 使用】案例

wu-acw-client 使用 项目介绍,使用acw-client,创建对应Java项目的增删改查(ORM:Lazy ORM、mybatis),项目模块架构:mvc、feign、ddd 演示项目环境:idea 、mac、mysql、jdk17 spring …

直播回顾 | 康谋ADAS仿真与HiL测试研讨会圆满收官,精彩内容全解析,精选QA放送!

AI助力ADAS仿真测试:康谋HiL测试线上直播研讨会圆满收官! 本次研讨会特邀知名主机厂和智能驾驶公司的仿真测试领域专业技术工程师,聚焦ADAS仿真系统开发与智能驾驶系统测试,并针对测试流程和挑战,深入讲解了康谋自动驾…

Redis的基础命令集详解

以下是按照Redis中的数据类型分类的基础命令集 字符串操作命令: 命令描述示例SET key value设置指定 key 的值为 valueSET name JohnGET key获取指定 key 的值GET nameDEL key删除指定 key 及其对应的值DEL name 哈希表操作命令: 命令描述示例HSET k…

Jquery——js库

1. jQuery 基础操作 jQuery 是一个快速、小巧的 JavaScript 库,设计用于简化 HTML 文档的遍历、事件处理、动画设计和 Ajax 交互。jQuery 使用户能够更快地编写 JavaScript 代码,并且能够更容易地处理 HTML 文档、事件、动画和 Ajax。 加载 jQuery 要…

343. 整数拆分(力扣LeetCode)

文章目录 343. 整数拆分题目描述动态规划 343. 整数拆分 题目描述 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k > 2 ),并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 示例 1: 输入: n 2 输出: 1 解释:…