广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >JavaScript Day12 BOM
  • 530
分享到

JavaScript Day12 BOM

javascript前端基础详解es6前端框架 2023-09-07 19:09:11 530人浏览 薄情痞子
摘要

BOM ​ 虽然 ECMAScript 把浏览器对象模型(BOM,Browser Object Model)描述为javascript 的核心,但实际上 BOM 是使用 JavaScript 开发 W

BOM

​ 虽然 ECMAScript 把浏览器对象模型(BOM,Browser Object Model)描述为javascript 的核心,但实际上 BOM 是使用 JavaScript 开发 WEB 应用程序的核心。BOM 提供了与网页无关的浏览器功能对象。多年来,BOM 是在缺乏规范的背景下发展起来的,因此既充满乐趣又问题多多。毕竟,浏览器开发商都按照自己的意愿来为它添砖加瓦。最终,浏览器实现之间共通的部分成为了事实标准,为 Web 开发提供了浏览器间互操作的基础。HTML5 规范中有一部分涵盖了 BOM 的主要内容,因为 W3C 希望将JavaScript 在浏览器中最基础的部分标准化。

1.window对象

BOM 的核心是 window 对象,表示浏览器的实例。window 对象在浏览器中有两重身份,一个是ECMAScript 中的 Global 对象,另一个就是浏览器窗口的 JavaScript 接口。这意味着网页中定义的所有对象、变量和函数都以 window 作为其 Global 对象,都可以访问其上定义全局方法。

1.1.Global作用域

因为 window 对象被复用为 ECMAScript 的 Global 对象,所以通过 var 声明的所有全局变量和函数都会变成 window 对象的属性和方法。比如:

这里,变量 name 和函数 sayName()被定义在全局作用域中,它们自动成为了 window 对象的成员。因此,变量 name 可以通过 window.name 来访问,而函数 sayName()也可以通过 window.sayName()来访问。因为 sayName()存在于全局作用域,this.name 映射到 window.name,所以就可以显示正确的结果了。

1.2.Window窗口

1.2.1.窗口位置
screenLeft和screenTop

属性返回窗口相对于屏幕的X和Y坐标。(火狐浏览器不支持)

screenX和screenY

属性返回窗口相对于屏幕的X和Y坐标。(ie浏览器不支持,火狐可以使用此属性)

pageXOffset

设置或返回当前页面相对于窗口显示区左上角的 X 位置。

pageYOffset

设置或返回当前页面相对于窗口显示区左上角的 Y 位置。

注意:IE8及更早IE版本不支持该属性,但可以使用 “document.body.scrollLeft” 和 “document.body.scrollTop” 属性 。
1.2.2.窗口大小
innerWidth

页面视图区的宽度

innerHeight

页面视图区的高度

outerWidth

浏览器窗口的宽度

outerHeight

浏览器窗口的高度

注意:所有主流浏览器都支持innerWidth,innerHeight,outerWidth,outerHeight 属性。注意:IE8及更早IE版本不支持这些属性。
1.2.3.screen对象
屏幕总宽度/高度(像素单位):

​ screen.width

​ screen.height

可用宽度/高度(像素单位):

​ screen.availWidth

​ screen.availHeight

颜色深度:

​ screen.colorDepth

颜色分辨率:

​ screen.pixelDepth

1.3.Window open()

window.open()方法可以用于导航到指定 URL,也可以用于打开新浏览器窗口。这个方法接收 4个参数:要加载的 URL、目标窗口、特性字符串和表示新窗口在浏览器历史记录中是否替代当前加载页面的布尔值。通常,调用这个方法时只传前 3 个参数,最后一个参数只有在不打开新窗口时才会使用。

语法
window.open(URL,name,specs,replace)
参数
URL

可选。打开指定的页面的URL。如果没有指定URL,打开一个新的空白窗口。

name

可选。指定target属性或窗口的名称。支持以下值:

  • _blank - URL加载到一个新的窗口。这是默认
  • _parent - URL加载到父框架
  • _self - URL替换当前页面
  • _top - URL替换任何可加载的框架集
  • name - 窗口名称
specs

可选。一个逗号分隔的项目列表。支持以下值:

hannelmode=yes|no|1|0是否要在影院模式显示 window。默认是没有的。仅限IE浏览器
directories=yes|no|1|0是否添加目录按钮。默认是肯定的。仅限IE浏览器
fullscreen=yes|no|1|0浏览器是否显示全屏模式。默认是没有的。在全屏模式下的 window,还必须在影院模式。仅限IE浏览器
height=pixels窗口的高度。最小.值为100
left=pixels该窗口的左侧位置
location=yes|no|1|0是否显示地址字段.默认值是yes
menubar=yes|no|1|0是否显示菜单栏.默认值是yes
resizable=yes|no|1|0是否可调整窗口大小.默认值是yes
scrollbars=yes|no|1|0是否显示滚动条.默认值是yes
status=yes|no|1|0是否要添加一个状态栏.默认值是yes
titlebar=yes|no|1|0是否显示标题栏.被忽略,除非调用html应用程序或一个值得信赖的对话框.默认值是yes
toolbar=yes|no|1|0是否显示浏览器工具栏.默认值是yes
top=pixels窗口顶部的位置.仅限IE浏览器
width=pixels窗口的宽度.最小.值为100
replace

Optional.Specifies规定了装载到窗口的 URL 是在窗口的浏览历史中创建一个新条目,还是替换浏览历史中的当前条目。支持下面的值:

  • true - URL 替换浏览历史中的当前条目。
  • false - URL 在浏览历史中创建新的条目。

1.4.系统对话框

使用 alert()、confirm()和 prompt()方法,可以让浏览器调用系统对话框向用户显示消息。这些对话框与浏览器中显示的网页无关,而且也不包含 HTML。它们的外观由操作系统或者浏览器决定,无法使用 CSS 设置。此外,这些对话框都是同步的模态对话框,即在它们显示的时候,代码会停止执行,在它们消失以后,代码才会恢复执行。

alert()

​ alert()接收一个要显示给用户的字符串。与 console.log 可以接收任意数量的参数且能一次性打印这些参数不同,alert()只接收一个参数。调用 alert()时,传入的字符串会显示在一个系统对话框中。对话框只有一个“OK”(确定)按钮。如果传给 alert()的参数不是一个原始字符串,则会调用这个值的 toString()方法将其转换为字符串。

​ 警告框(alert)通常用于向用户显示一些他们无法控制的消息,比如报错。用户唯一的选择就是在看到警告框之后把它关闭。

alert('我是警告框')
confirm()

​ 确认框通过调用 confirm()来显示。确认框跟警告框类似,都会向用户显示消息。但不同之处在于,确认框有两个按钮:“Cancel”(取消)和“OK”(确定)。用户通过单击不同的按钮表明希望接下来执行什么操作。比如,confirm(“你确定吗?”);

​ 要知道用户单击了 OK 按钮还是 Cancel 按钮,可以判断 confirm()方法的返回值:true 表示单击了 OK 按钮,false 表示单击了 Cancel 按钮或者通过单击某一角上的 X 图标关闭了确认框。确认框的典型用法如下所示:

prompt()

​ 提示框,通过调用 prompt()方法来显示。提示框的用途是提示用户输入消息。除了 OK 和 Cancel 按钮,提示框还会显示一个文本框,让用户输入内容。prompt()方法接收两个参数:要显示给用户的文本,以及文本框的默认值(可以是空字符串)。调用 prompt(“你叫什么名字?”),如果用户单击了 OK 按钮,则 prompt()会返回文本框中的值。如果用户单击了 Cancel 按钮,或者对话框被关闭,则 prompt()会返回 null。

1.5.location

location对象是最有用的BOM对象之一,提供了与当前窗口中加载的文档有关的信息,还提供一些导航功能。

location是个神奇的对象,既是window的对象也是document的对象。经过我们的对比发现,直接使用location对象也可以。

属性

host 返回服务器名称和端口号
hostname 返回不带端口号的服务器名称
href 返回当前加载页面的完整URL
pathname 返回URL的目录和文件名
port 返回URL中指定的端口号
protocol 返回页面使用的协议
search 返回URL的查询字符串。这个字符串以问号开头

方法
assign()

传递一个url参数,打开新url,并在浏览记录中生成一条记录。

replace()

参数为一个url,结果会导致浏览器位置改变,但不会在历史记录中生成新记录。

reload()

重新加载当前显示的页面,参数可以为boolean类型,默认为false,表示以最有效方式重新加载,可能从缓存中直接加载。如果参数为true,强制从服务器中重新加载。

1.6.history对象

​ 该对象保存着用户上网的历史记录。出于安全方面的考虑,开发人员无法得知用户浏览过的URL,不过借由用户访问过的页面列表,同样可以在不知道实际URL的情况下实现后退前进,注意: 没有应用于History对象的公开标准,不过所有浏览器都支持该对象。

length

返回历史列表中的网址数
注意:Internet Explorer和Opera从0开始,而Firefox、Chrome和Safari从1开始。

back()

加载 history 列表中的前一个 URL

forward()

加载 history 列表中的下一个 URL

Go()

加载 history 列表中的某个具体页面,负数表示向后跳转,正数表示向前跳转。

1.7.间歇调用和超时调用

javascript是单线程语言,但是可以通过超时值和间歇时间来调度代码在特定时刻执行。

setTimeout()

该方法返回一个数值ID,表示超时调用,这个超时调用ID是计划执行代码的唯一标识符通过它来取消超时调用。可以通过clearTimeout(ID);

参数:

要执行的代码
2.以毫秒表示的时间。

例如在1秒后执行输出语句

setInterval()

按照指定的时间间隔重复执行代码,直到间歇调用被取消或页面被卸载。调用该方法也会返回一个间歇调用ID,该ID可以用户在将来某个时刻取消间歇调用。

参数:

要执行的代码
2.以毫秒表示的时间。

如动态显示时间

来源地址:https://blog.csdn.net/qq_63299825/article/details/131601284

--结束END--

本文标题: JavaScript Day12 BOM

本文链接: https://www.lsjlt.com/news/398884.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript Day12 BOM
    BOM ​ 虽然 ECMAScript 把浏览器对象模型(BOM,Browser Object Model)描述为JavaScript 的核心,但实际上 BOM 是使用 JavaScript 开发 W...
    99+
    2023-09-07
    javascript 前端 基础详解 es6 前端框架
  • JavaScript BOM详解
    目录1.BOM简介1.JavaScript由三部分组成2.window对象3.location对象4.history对象总结1.BOM简介 1.JavaScript由三部分组成 EC...
    99+
    2022-11-12
  • Python——day12 nonlco
    1、作用:将L与E(E中的名字需要提前定义)的名字统一 2、应用场景:如果想在被嵌套的函数中修改外部函数变量(名字)的值 def outer(): num=10 print(num) # 输出结果为10 d...
    99+
    2023-01-31
    Python nonlco
  • day12-迭代器
      内部含有_next_和_iter_方法的就是迭代器。      可以被for循环的都是可迭代的,只有是可迭代对象,才能用for循环。   可迭代的内部都有_iter_方法——可迭代协议。   只要是迭代器,一定可迭代。   若A是可...
    99+
    2023-01-31
    迭代
  • JavaScript中bom是什么
    这篇文章将为大家详细讲解有关JavaScript中bom是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。BOM(Broswer Object Model)凡是 win...
    99+
    2022-10-19
  • JavaScript中BOM和DOM详解
    目录BOM(浏览器对象模型) 1. window 获取浏览器c窗口尺寸 2. screen 获取电脑屏幕大小 3. window 开启关闭窗口 4. 浏览器事件 5. locatio...
    99+
    2022-11-12
  • JavaScript有没有包含BOM
    本篇内容介绍了“JavaScript有没有包含BOM”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • JavaScript的BOM实例分析
    这篇文章主要讲解了“JavaScript的BOM实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript的BOM实例分析”吧!   lo...
    99+
    2022-10-19
  • JavaScript的三种BOM对象
    目录一、location对象1、URL2、location对象的属性3、location对象的方法二、navigator对象三、history对象总结window 对象给我们提供了一...
    99+
    2022-11-12
  • JavaScript的BOM技术怎么用
    这篇文章主要讲解了“JavaScript的BOM技术怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript的BOM技术怎么用”吧!1、BO...
    99+
    2022-10-19
  • JavaScript BOM知识点有哪些
    本篇内容主要讲解“JavaScript BOM知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript BOM知识点有哪些”吧!1、BOM 简介   所谓的 BOM 即浏览...
    99+
    2023-06-04
  • javascript中bom的作用是什么
    本篇文章为大家展示了javascript中bom的作用是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在javascript中,BOM指的是浏览器对象模型(Browser Object Mode...
    99+
    2023-06-15
  • javascript中bom的作用有哪些
    这篇文章主要介绍javascript中bom的作用有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!javascript bom的作用:1、弹出新浏览器窗口;2、移动,关闭和更改浏览器窗口大小;3、可提供Web浏览...
    99+
    2023-06-15
  • JavaScript的BOM操作怎么实现
    今天小编给大家分享一下JavaScript的BOM操作怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。window对象...
    99+
    2023-06-29
  • JavaScript中DOM和BOM原理详析
    目录前言DOM为什么要创建DOM节点或者画一个类似于这样的结构图?DOM的家世1.DOM为啥这么有必要?2.DOM的迭代,有啥区别?3.注意注意!!DOM的好兄弟BOM!小结前言 本...
    99+
    2022-11-13
  • JavaScript中BOM和DOM有什么区别
    这篇文章将为大家详细讲解有关JavaScript中BOM和DOM有什么区别,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。BOM定义了JavaScript可以...
    99+
    2022-10-19
  • 怎么理解JavaScript中的BOM和DOM
    本篇内容主要讲解“怎么理解JavaScript中的BOM和DOM”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么理解JavaScript中的BOM和DOM”吧...
    99+
    2022-10-19
  • JavaScript中ECMAScript、BOM、DOM的示例分析
    小编给大家分享一下JavaScript中ECMAScript、BOM、DOM的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下...
    99+
    2022-10-19
  • JavaScript中的DOM与BOM实例分析
    这篇文章主要介绍“JavaScript中的DOM与BOM实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript中的DOM与BOM实例分析”文章能...
    99+
    2022-10-19
  • 一起来学习JavaScript的BOM操作
    目录window对象全局作用域常见事件调节窗口大小定时器setTimeoutthis指向问题location对象转跳页面location常见方法总结window对象 BOM的核心对象...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作