第十二讲_JavaScript浏览器对象模型BOM

JavaScript浏览器对象模型BOM

  • 1. 浏览器对象模型介绍
  • 2. location
    • 2.1 常用的属性
    • 2.2 常用的方法
  • 3. navigator
    • 3.1 常用的属性
  • 4. history
    • 4.1 常用的方法:
  • 5. 本地存储

1. 浏览器对象模型介绍

BOM(Browser Object Model) 是指浏览器对象模型,浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。

BOM由多个对象组成,其中代表浏览器窗口的Window对象是BOM的顶层对象,其他对象都是该对象的子对象。

在这里插入图片描述

2. location

location对象包含有关文档当前位置的信息

2.1 常用的属性

  • href:完整的 url 地址,对其赋值时用于地址的跳转。
  • search:获取地址中携带的参数,符号后面的部分。
  • hash:获取地址中哈希值,符号#后面的部分。
<html><style>div {text-align: center;}</style><div>测试location对象</div><div><button class="btn1">点击跳转页面</button><button class="btn2">点击获取url参数</button><button class="btn3">点击获取url哈希值</button></div><script>const btn1 = document.querySelector(".btn1");btn1.addEventListener('click', () => {// 设置新的href,跳转到新的地址网页location.href = "https://blog.csdn.net/wenqi1992?spm=1010.2135.3001.5343"})// 点击前,在浏览器地址栏后面添加一串?XXXXXX,然后刷新页面,最后点击按钮const btn2 = document.querySelector(".btn2");btn2.addEventListener('click', () => {alert(location.search)})// 点击前,在浏览器地址栏后面添加一串#XXXXXX,然后刷新页面,最后点击按钮const btn3 = document.querySelector(".btn3");btn3.addEventListener('click', () => {alert(location.hash)})</script></html>

2.2 常用的方法

  • reload():刷新当前页面方法,传入 true 表示强制刷新。
  • replace():替换当前地址并刷新页面。

3. navigator

navigator对象记录了浏览器自身的相关信息。

3.1 常用的属性

  • userAgent:浏览器的平台和版本信息。
<html><style>div {text-align: center;}</style><div>测试navigator对象</div><div><button class="btn1">点击查看浏览器的信息</button></div><script>const btn1 = document.querySelector(".btn1");btn1.addEventListener('click', () => {alert(navigator.userAgent)})</script>
</html>

4. history

history对象主要管理历史记录,该对象与浏览器地址栏的操作相对应。

4.1 常用的方法:

  • back():后退
  • forward():前进
  • go():前进后退,参数大于 0 就是前进,参数小于 0 就是后退。

5. 本地存储

localStorage:本地存储数据,除非手动删除。
sesseionStorage:本地存储数据,会话关闭就删除。

<html><style>div {text-align: center;}</style><div>测试locationStorage和sessionStorage对象</div><div><button class="btn1">点击保存到locationStorage</button><button class="btn2">点击保存到sessionStorage</button></div><script>const btn1 = document.querySelector(".btn1");btn1.addEventListener('click', () => {localStorage.setItem("name", "文大奇Quiin")})const btn2 = document.querySelector(".btn2");btn2.addEventListener('click', () => {sessionStorage.setItem("name", "文大奇Quiin")})</script></html>

在这里插入图片描述
在这里插入图片描述

复杂数据类型存储,需要先用 JSON.stringify(obj)转换成 JSON 字符串。取回来的 JSON 字符串,可以用 JSON.parse(jsonStr)转换成对象。

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

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

相关文章

ShardingSphere实现openGauss分布式架构

本文档采用openGauss结合ShardingSphere中间件的架构&#xff0c;实现openGauss数据库分布式OLAP场景的环境部署。 术语说明&#xff1a; 开源数据库引擎&#xff1a;openGauss shardingsphere Proxy&#xff1a;定位为透明化的数据库代理端&#xff0c;提供封装了数据库二进…

Yarn常见问题处理

任务出现container OOM异常导致作业失败 原因 Container内存不足或者作业数据倾斜 解决方案 检查Container相关参数,判断是否设置过小(低于4GB)。如果Container小于4GB,优先考虑调大当前作业container大小,如果是Tez任务,还需要同步调整以下参数 # tez container size…

全链游戏的未来趋势与Bridge Champ的创新之路

为了充分探索全链游戏的特点和趋势&#xff0c;以及Bridge Champ如何作为一个创新案例融入这一发展脉络&#xff0c;我们需要深入了解这两者之间的互动和相互影响。全链游戏&#xff0c;或完全基于区块链的游戏&#xff0c;代表了游戏行业的一个重要转型&#xff0c;它们利用区…

如何做报表? 如何建立指标体系

如何制作报表呢&#xff1f; 通过下面5步来制作报表。 如何建立指标体系? 很多数据分析招聘的要求里会写“构建指标体系”&#xff0c;所以建立指标体系是数据分析人员的一项基本技能。下面从4个问题出发&#xff0c;系统介绍指标体系&#xff1a; &#xff08;1&#xf…

不下载任何插件和依赖,在线导出swagger的api接口文档(word)

一、前言 swagger是一个非常方便用来生成api的工具集&#xff0c;它提供了可视化的restful风格的web界面&#xff0c;方便查看生成的api。 但是&#xff0c;想要将swagger生成的api直接导出为doc文档&#xff0c; 似乎不太方便实现&#xff0c;解析swagger的json串&#xff0c;…

Windows自动化实现:系统通知和任务栏图标自定义

文章目录 Windows自动化的三个小工具系统通知任务栏图标使用pystray实现使用infi.systray实现 Windows自动化的三个小工具 系统通知 import win10toastwin10toast.ToastNotifier().show_toast("eee", "休息一下", icon_path"icon.ico", durati…

编译和连接,预处理详情

在ANSI C的任何⼀种实现中&#xff0c;存在两个不同的环境&#xff1a; 翻译环境和运行环境 &#xff08;下面主要介绍翻译环境&#xff09; &#xff08;这个图还比较生动&#xff09; 预处理详情 1.预定义符号 printf("file:%s line:%d\n", __FILE__, __LIN…

客户端会话技术-Cookie

一、会话技术 1.1 概述 会话&#xff1a;一次会话中包含多次**请求和响应** 一次会话&#xff1a;浏览器第一次给服务器资源发送请求&#xff0c;此时会话建立&#xff0c;直到有一方断开为止 会话的功能&#xff1a;在一次会话的范围内的多次请求间&#xff0c;共享数据 …

了解msvcp140.dll文件是什么,msvcp140.dll丢失的解决方法,

最近有小伙伴再问msvcp140.dll丢失的解决方法&#xff0c;那么都有哪些解决办法可以有效的解决呢&#xff1f;今天这个篇文章就带大家了解一下&#xff0c;同时带大家一起了解msvcp140.dll文件是什么&#xff0c;一起来看看msvcp140.dll丢失的解决方法有哪些吧。 一.msvcp140.d…

全球住宅代理IP服务商哪家好?

住宅IP代理为跨境出海用户提供了更加多元、安全和高效的网络访问体验。住宅代理服务使用真实的住宅IP地址&#xff0c;而这些IP地址通常最接近于海外个人家庭用户&#xff0c;从而减少了被封锁或标记为可疑流量的可能性&#xff0c;对于部分跨境电商平台账号&#xff08;如亚马…

ChatGPT之制作短视频

引言 今天带来了如何使用 ChatGPT和剪映来制作简单的短视频教程&#xff0c;在这其中 ChatGPT的作用主要是帮我们生成文案&#xff0c;剪映的功能就是根据文案自动生成视频&#xff0c;并配上一些图片、动画、字幕和解说。 ChatGPT生成文案 首先&#xff0c;我们需要使用提示…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之QRCode组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之QRCode组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、QRCode组件 用于显示单个二维码的组件。 子组件 无。 接口 QRCode(value: st…