细说JavaScript BOM之window常用子对象

一、location

location翻译过来就是位置的意思,打开浏览器窗口大家可以看到导航栏上有一个URL地址。

// 例如 https://www.zhishunet.com// 分心可知,它使用的网络协议是https 服务器名称是 www,zhishunet.com

location常用对象属性

属性描述
search设置或返回从问好(?)开始的URL
hash设置或返回从#后面开始的URL
protocol设置或返回当前URL的协议
host设置或返回主机名和当前URL的端口号
hostname设置或返回当前URL的主机名
href设置或返回完整的URL
pathname设置或返回当前URL的路径部分
port设置或返回房钱URL的端口号
1、刷新当前页面
// 可以通过给location.href属性赋值的方式,使得浏览器根据获取到的新的指定的URL地址来刷新加载新地址// 例子
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>知数SEO_专注搜索引擎优化和品牌推广</title>
</head>
<body>
<button id="flush">点击刷新页面</button>
<script>var myBtn = document.getElementById('flush'); // 获取button按钮myBtn.onclick = function(){flush('https://www.zhishunet.com'); // 点击按钮触发调用flush方法}function flush(url){// 赋值url地址,实现页面刷新window.location.href = url;}
</script>
</script>
</body>
</html>
2、重新加载文档
// 使用location.reload()方法可以加载文档,需要注意reload()方法的参数设置,当为空或false时
// 在浏览器客户端执行reload(false)会先判断服务器端的文件是否发生改变
// 若发生改变就会从服务器端相应数据给客户端
// 若没发生改变就会直接从客户端的缓存中加载文档,当设置为true时会直接从服务器端相应文档给客户端// 例子
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>知数SEO_专注搜索引擎优化和品牌推广</title>
</head>
<body>
<button id="flush">点击刷新页面</button>
<script>var myBtn = document.getElementById('flush'); // 获取button按钮myBtn.onclick = function(){window.location.reload(); // 判断服务器上的文件是否发生改变window.location.reload(true); // 直接从服务器重新下载}
</script>
</script>
</body>
</html>
3、使用新文档替换旧文档
// 使用window.location.replace()方法可以实现用一个新文档替换旧文档// 例子
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>知数SEO_专注搜索引擎优化和品牌推广</title>
</head>
<body>
<button id="flush">点击刷新页面</button>
<script>var myBtn = document.getElementById('flush'); // 获取button按钮myBtn.onclick = function(){window.location.replace('http://www.zhishuseo.cn');  }
</script>
</script>
</body>
</html>// 注意replace()方法指定URL替换当前缓存在历史记录中(客户端)的项目,
// 因此在使用replace()方法后不能通过点击“前进”或“后退”按钮来访问已经替换的URL
// 实际应用中刷新页面使用location.reload()或者location.go(0)方法来实现
4、加载新文档
// location.assign()方法通过加载URL指定的心的文档来实现页面跳转,不过assign()与replace()
// 区别在于,location.assign()可以点击“后退”按钮返回到上一个页面
// 与href的区别在于href属性是通过控制属性来实现页面跳转的// 例子
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>知数SEO_专注搜索引擎优化和品牌推广</title>
</head>
<body>
<button id="flush">点击刷新页面</button>
<script>var myBtn = document.getElementById('flush'); // 获取button按钮myBtn.onclick = function(){window.location.assign('https://www.zhishunet.com');}
</script>
</script>
</body>
</html>

二、navigator

假入你想查看浏览器信息怎么办?
navigator对象不仅包含了正在使用的navigator版本信息,也可以反当前使用的浏览器信息,这个对象和location对象一样,当js客户端运行时引擎自动创建的,可以直接使用。
navigator对象常用属性

属性描述
appCodeName返回浏览器代码名
appName返回浏览器的名称
appVersion返回浏览器的平台和版本信息
cookieEnabled返回知名浏览器中是否启用Cookie的布尔值
onLine返回知名系统是否处于脱机模式的布尔值,true代表在线
platform返回运行浏览器的操作系统平台
userAgent返回有客户机发送给服务器的ua头部值
appMinorVersion返回浏览器的次级版本
cpuClass返回浏览器系统的CPU等级
uesrlanguage返回操作系统的自然语言设置
systemLanguage返回操作系统使用的默认语言
browserLanguage返回当前浏览器的语言

三、history

浏览器有一个历史记录,可以查看用户访问过的所有页面,这种将用户在浏览器中访问过的URL进行管理的操作就用到了history对象,history对象也是window对象的一部分

1、对象属性

想要知道浏览器历史列表中的URL数量,可以使用history.length属性

2、对象方法
2.1、window.history.back()

这个方法用于加载history列表中的前一个url,相当于浏览器的“后退”,注意history.back(-1)表示直接返回到最初的页面,并刷新整个页面,history.back(0)可以实现当前页面的刷新功能。、

2.2、window.history.forward()

这个方法用于加载history列表中的下一个url,相当于浏览器中的“前进”

2.3、window.history.go()

使用这个方法可以直接加载history列表中的具体页面
history.go(-1)相当于“后退”
history.go(1)相当于“前进”

四、screen

每个window对象的screen属性都引用一个screen对象。screen对象中存储着有关显示器屏幕的信息,js程序将利用这些信息来优化它们的输出来满足用户的显示需求。另外js程序还能根据有关屏幕尺寸的信息将新的浏览器窗口定位在屏幕中间等操作。
screen对象常用属性

属性描述
availHeight返回显示屏幕的高度(除window任务栏之外)
availWidth返回显示屏幕的宽度(除window任务栏之外)
height返回显示屏幕的高度
windth返回显示屏幕的宽度
pixelDepth返回显示屏幕的颜色分辨率(比特每像素)

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

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

相关文章

用Pytorch实现线性回归模型

目录 回顾Pytorch实现步骤1. 准备数据2. 设计模型class LinearModel代码 3. 构造损失函数和优化器4. 训练过程5. 输出和测试完整代码 练习 回顾 前面已经学习过线性模型相关的内容&#xff0c;实现线性模型的过程并没有使用到Pytorch。 这节课主要是利用Pytorch实现线性模型。…

UE5 C++ 学习笔记 UBT UHT 和 一些头文件

总结一些似懂非懂的知识点&#xff0c;从头慢慢梳理。 任何一个项目都有创建这些三个.cs。 这个是蓝图转C 这个是本身就是C项目,应该就是多了一个GameModeBase类 Build.cs包含了每个模块的信息&#xff0c;表明了这个项目用到了哪一些模块。该文件里的using UnrealBuilTool 是…

学习笔记之——3D Gaussian SLAM,SplaTAM配置(Linux)与源码解读

SplaTAM全称是《SplaTAM: Splat, Track & Map 3D Gaussians for Dense RGB-D SLAM》&#xff0c;是第一个&#xff08;也是目前唯一一个&#xff09;开源的用3D Gaussian Splatting&#xff08;3DGS&#xff09;来做SLAM的工作。 在下面博客中&#xff0c;已经对3DGS进行了…

ELK 分离式日志

目录 一.ELK组件 ElasticSearch&#xff1a; Kiabana&#xff1a; Logstash&#xff1a; 可以添加的其它组件&#xff1a; ELK 的工作原理&#xff1a; 二.部署ELK 节点都设置Java环境: 每台都可以部署 Elasticsearch 软件&#xff1a; 修改elasticsearch主配置文件&…

LeetCode、2462. 雇佣 K 位工人的总代价【中等,最小堆+双指针】

文章目录 前言LeetCode、2462. 雇佣 K 位工人的总代价【中等&#xff0c;最小堆双指针】题目及类型思路及代码实现 资料获取 前言 博主介绍&#xff1a;✌目前全网粉丝2W&#xff0c;csdn博客专家、Java领域优质创作者&#xff0c;博客之星、阿里云平台优质作者、专注于Java后…

Linux CentOS stream9 nmcli

nmcli命令是redhat7或者centos7之后的命令&#xff0c;该命令可以完成网卡上所有的配置工作&#xff0c;并且可以写入配置文件&#xff0c;永久生效。 一、前期准备 在讨论、学习与训练nmcli命令前&#xff0c;必须明确几点&#xff1a; 1.开启NetworkManager 使用nmcli命令…

2024.1.19每日一题

LeetCode 2809.使数组和小于等于x的最少时间 2809. 使数组和小于等于 x 的最少时间 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给你两个长度相等下标从 0 开始的整数数组 nums1 和 nums2 。每一秒&#xff0c;对于所有下标 0 < i < nums1.length &#xff0c…

C#开源跨平台的多功能Steam工具箱GitHub加速神器

前言 作为一名程序员你是否会经常会遇到GitHub无法访问(如下无法访问图片)&#xff0c;或者是访问和下载源码时十分缓慢就像乌龟爬行一般。今天分享一款C#开源的、跨平台的多功能Steam工具箱和GitHub加速神器&#xff1a;Watt Toolkit。 项目功能 网络加速、账号切换、库存游…

蓝桥杯(C++ 矩形总面积 错误票据 分糖果1 三国游戏 分糖果2)

目录 一、矩形总面积 思路&#xff1a; 代码&#xff1a; 二、错误票据 思路&#xff1a; 代码&#xff1a; 三、分糖果1 思路&#xff1a; 代码&#xff1a; 四、三国游戏 思路&#xff1a; 代码&#xff1a; 五、分糖果2 思路&#xff1a; 代码&#xff1a;…

最长上升子序列模型(LIS)

最长上升子序列模型就像它的名字一样&#xff0c;用来从区间中找出最长上升的子序列。它主要用来处理区间中的挑选问题&#xff0c;可以处理上升序列也可以处理下降序列&#xff0c;原序列本身的顺序并不重要。 模型 895. 最长上升子序列&#xff08;活动 - AcWing&#xff0…

Android中矩阵Matrix实现平移,旋转,缩放和翻转的用法详细介绍

一&#xff0c;矩阵Matrix的数学原理 矩阵的数学原理涉及到矩阵的运算和变换&#xff0c;是高等代数学中的重要概念。在图形变换中&#xff0c;矩阵起到关键作用&#xff0c;通过矩阵的变换可以改变图形的位置、形状和大小。矩阵的运算是数值分析领域的重要问题&#xff0c;对…

2024 前端高频面试题之 HTML/CSS 篇

【前言】随着市场的逐渐恶劣&#xff0c;通过总结面试题的方式来帮助更多的coder&#xff0c;也是记录自己的学习过程&#xff0c;温故而知新。欢迎各位同胞大大点评补充~ 前端面试题之 HTML/CSS 篇 1、HTML 语义化&#xff1f;2、块级元素&内联样式3、盒子模型的理解&…