常见的BOM对象

news2024/11/18 15:38:56

BOM是浏览器对象模型,提供了独立于内容与浏览器窗口进行交互的对象,其作用就是根浏览器做一些交互效果。

比如,如何进行页面的后退,前进,刷新,滚动条的滚动等等。

常见的BOM对象有

一. window

BOM的核心对象是window,它表示浏览器的一个实例

所有在全局作用域中声明的变量,函数都会变成window对象的属性和方法。 

var name = '小熊'
function lookName(){
  alert (this.name)
}

console.log(window.name) // 小熊
lookName() // 小熊
window.lookName() // 小熊

一些窗口控制的方法

moveBy(x,y) // 从当前位置水平移动窗体x个像素,垂直移动窗体y个像素
moveTo(x,y) // 移动窗体左上角相对于屏幕左上角的(x,y)点

resizeBy(w,h) // 相对窗体当前的大小,宽度调整w个像素,高度调整h个像素
resizeTo(w,h) // 把窗体宽度调整为w个像素,高度调整为h个像素

scrollTo(x,y)
scrollBy(x,y) // 如果有滚动条,将横向滚动条向左移动x个像素,将纵向滚动条向下移动y个像素

window.open(),既可以导航到一个特定的url,也可以打开一个新的浏览器窗口

// 如果window.open()传递了第二个参数,且该参数是已有窗口或者框架的名称,就会在目标窗口加载第一个参数指定的URL

window.open('http://www.vuewjs.com','topFrame')
// 有一个a标签
<a href= "" target="topFrame"></a>

window.close(),仅用于通过window.open()打开的窗口 

二. location

例如有一个url地址

http://foouser:barpassword@www.wrox.com:80/WileyCDA/?q=javascript#contents 

属性名例子说明
hash#contentsurl中#后面的字符,没有则返回空串
hostwww.wrox.com:80服务器名称和端口号
hostnamewww.wrox.com域名,不带端口号
href完整url
pathname/WileyCDA/服务器下面的文件路径
port80url的端口号,没有则为空
protocolhttp:使用的协议
search?q=javascripturl的查询字符串,通常为?后面的内容

除了hash之外,只要修改location的一个属性,就会导致页面重新加载新URL

location.reload()方法可以重新刷新当前页面

这个方法会根据最有效的方式刷新页面,如果页面自上一次请求以来没有改变过,页面就会从浏览器缓存中重新加载,如果要强制从服务器中重新加载,传递一个参数true即可。

三. navigator

navigator对象主要用来获取浏览器的属性,区分浏览器类型。 

四. screen

保存的纯粹是客户端能力信息,也就是浏览器窗口外面的客户端信息,比如像素宽度和高度 

五. history

history对象用来操作浏览器URL的历史记录,可以通过参数向前,向后或者向指定URL跳转 

history.go() 

// 接收一个整数数字或者字符串参数,向最近的一个记录中包含指定字符串的页面跳转
history.go('maixaofei.com')

// 当参数为整数数字的时候,证书表示向前跳转指定的页面,负数为向后跳转指定的页面
history.go(3) // 向前跳转三个记录
history.go(-1) // 向后跳转一个记录

history.forward() // 向前跳转一个页面

history.back() // 向后跳转一个页面

history.length // 获取历史记录数

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

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

相关文章

如何离线安装和使用pymysql操作mysql数据库

一、应用背景 在企业内部网络要使用python操作mysql数据库。然而&#xff0c;python未自带访问MySQL数据库的函数库pymysql&#xff0c;需要另外安装。网上有很多安装pymysql都需要互联网支持。本文主要阐述如何离线安装pymysql,并简要介绍pymysql如何进行mysql操作。 pymysq…

nodejs+vue中国非物质文化遗产网站设计与实现elementui

前端页面&#xff1a; 导航栏借鉴下面的 1首页&#xff1a;带有一个全屏轮播图和其他的内容 2咨询页&#xff1a;有关中国非物质文化遗产的一些新闻咨询网站对于记录非遗这种无形的、动态的文化资源有着其他技术无可替代的优势。用户可以在该网站浏览、了解和学习非遗文化&…

Unity3d中Scene场景2D模式下放大后UI元素后不显示的问题

如题&#xff1a;UI在game视图显示没有问题&#xff0c; 在Play状态下&#xff0c;在Sence视图查看UI对象的时候进行放大操作&#xff0c;然后UI就不显示了或者显示不全&#xff0c;缩小就恢复正常。这让我在Play模式下预览UI状态很麻烦。相关问题描述较少。 初步判定为摄像机…

河北吉力宝以步力宝健康鞋引发的全新生活生态商

在当今瞬息万变的商业世界中&#xff0c;成功企业通常都是那些不拘泥于传统、勇于创新的先锋之选。河北吉力宝正是这样一家企业&#xff0c;通过打造一双步力宝健康鞋&#xff0c;他们以功能性智能科技穿戴品为核心&#xff0c;成功创造了一种结合智能康养与时尚潮流的独特产品…

IDEA运行第一个Java简单程序(新建项目到运行类)

目录 前言 一、准备工作 JDK下载安装 1.IDEA下载安装 二、IDEA建立项目 &#xff08;一&#xff09;新建项目&#xff08;银河系&#xff09; &#xff08;二&#xff09;新建模块&#xff08;地球&#xff09; &#xff08;三&#xff09;新建包&#xff08;国家&#…

【JVM】内存分区

内存分区 一. JVM 执行流程二. JVM 运行时数据区1. 堆&#xff08;线程共享&#xff09;2. Java虚拟机栈&#xff08;线程私有&#xff09;3. 本地方法栈&#xff08;线程私有&#xff09;4. 程序计数器&#xff08;线程私有&#xff09;5. 方法区&#xff08;线程共享&#xf…

Unity:2D游戏设置相机orthographicSize

目录 根据设备分辨率动态设置相机 orthographicSize 根据设备分辨率动态设置相机 orthographicSize 2d游戏里面相机的Orthan.size确定的是高度&#xff0c;宽度是按照屏幕的宽高比计算出来的cameraWidthSize camera.Orthographic.size*(Screen.Width/Screen.height)我在游戏…

内网穿透--cpolar

工具介绍 cpolar是一种安全的内网穿透云服务&#xff0c;它将内网下的本地服务器通过安全隧道暴露至公网。使得公网用户可以正常访问内网服务。 下载位置 cpolar官网&#xff1a;cpolar - 安全的内网穿透工具 创建隧道映射 cpolar安装成功后&#xff0c;双击打开cpolar web u…

一文教你如何配置路由策略

【微|信|公|众|号&#xff1a;厦门微思网络】 微思-课程介绍 组网需求 如图1所示&#xff0c;某公司的部门A和部门B相距较远&#xff0c;Router_1和Router_6分别作为这两个部门的出口设备&#xff0c;AS 100内部使用OSPF作为IGP。现要求&#xff1a; 通过部署BGP&#xff0c;使…

实验三--贪心算法的设计与分析

某不知名学校算法课第三次实验报告 题目来自力扣 这次实验是贪心算法 贪心的思维很跳跃&#xff0c;每道题也没有固定的模板的思考方向 跳跃游戏 题目描述&#xff1a; 给定一个非负整数数组&#xff0c;你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳…

PHP 电竞网站系统mysql数据库web结构apache计算机软件工程网页wamp

一、源码特点 PHP 电竞网站系统是一套完善的web设计系统&#xff0c;对理解php编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 php电竞网站系统 代码 https://download.csdn.net/download/qq_41221322/88377255 论文 h…

基于linux的进程信号知识

1.前言 生活当中我们无时不刻都在接触外界给予我们各种各样的信号&#xff0c;比如穿越马路时看到红灯就得停下来&#xff0c;在比如听到手机铃声就得接电话&#xff0c;那么生活中如果很多重要的信号同时发生了&#xff0c;你会先做哪个事情&#xff1f;换句化说你会如何处理…

Failed to load the JNI shared library “D:\...\jvm.dll

1.解决办法&#xff1a; 64-bit Eclipse requires a 64-bit JVM, and 32-bit Eclipse requires 32-bit JVM--you can not mix-and-match between 32-bit and 64-bit. 2.问题&#xff1a; 下载了Eclipse4.16&#xff0c;openjdk8&#xff0c;双击安装Eclipse无法启动&#x…

侯捷 C++ STL标准库和泛型编程 —— 3 容器(序列式容器)

3 容器 3.1 容器结构分类 分类&#xff1a;序列式容器 Sequence Container&#xff0c;关联式容器 Associative Container 序列式容器&#xff1a;按照放入的次序进行排列 Array 数组&#xff0c;固定大小Vector 向量&#xff0c;会自动扩充大小Deque 双向队列&#xff0c;双…

每日一题 1333. 餐厅过滤器(中等)

感觉应该算是简单题 思路&#xff1a; 按照他提出的要求进行筛选即可学习了 sort 函数中几个参数的用法&#xff0c; keylambda c:(c[1], c[0]) 的形式可以令在排序中当c[1]相等时按照c[0]大小进行排序&#xff0c;reverseTrue 实现降序排列 class Solution:def filterResta…

基于微信小程序的美食推荐系统设计与实现(源码+lw+部署文档+讲解等)

前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb;…

element日历插件获取显示的第一天和最后一天

和重置日期内容显示 需求是要传入当前显示的第一天和最后一天来获取范围&#xff0c;再判断某个日期是否有内容标记 已知星期排版是固定的&#xff0c;第一天是星期天&#xff0c;最后一天是星期六。通过当月1号和最后一天再往前推算需要展示上个月几天&#xff0c;和下个月几…

Vue3 + TS 自动检测线上环境 —— 版本热更新提醒

&#x1f414; 前期回顾 编写 loading、加密解密 发布NPM依赖包&#xff0c;并实施落地使用_彩色之外的博客-CSDN博客 目录 &#x1f30d; 问题产生 &#x1f916; 性能效率 &#x1fa82; 新建 autoUpdate.ts &#x1f38b; 在App.vue使用 &#x1f30d; 问题产生 当用…

秋招搞个保底offer再说,我换赛道了。

作者&#xff1a;阿秀 InterviewGuide大厂面试真题网站&#xff1a;https://top.interviewguide.cn 这是阿秀的第「312」篇原创 小伙伴们大家好&#xff0c;我是阿秀。 转测开这个话题已经聊过很多次了&#xff0c;以前也分享过不少测开相关的面经&#xff1a; 后端太卷&#x…

Mac电脑视频处理工具 Topaz Video AI for mac

Topaz Video AI是一款强大而易用的视频处理软件&#xff0c;通过人工智能技术提供高质量的视频增强和编辑功能。它可以帮助用户改善视频的质量、修复缺陷、优化图像&#xff0c;并提供丰富的编辑选项&#xff0c;以满足个性化的视频处理需求。无论是专业摄影师、视频编辑人员&a…