javascript中的窗口即window对象,是浏览器窗口对文档提供一个显示的容器,是每一个加载文档的父对象。window对象还是所有其他对象的顶级对象,通过对window对象的子对象进行操作,可以实现更多的动态效果。

window对象代表当前打开的浏览器窗口,其作为顶级对象。window对象的方法和属性的调用和其它对象一样,区别是window对象不需要创建即可直使用。需要注意的是window对象名称是小写,下面是其属性和方法的调用语法。

window.属性名

window.方法名(参数列表)

一些常用的方法:

onload/onunload

网页加载完毕时激发一个onload事件。通常在该事件处理程序中进行与网页加载完毕相关的操作,该事件是BODY标签的属性。该事件也可以作用于IMG元素,通常借助该事件以实现图片预加载功能。当作用在BODY元素中时,只有当整个网页都加完毕后才会被激发。

与load事件相反,unload事件是在浏览器窗口卸载文档时所激发的事件。所谓卸载是浏览器的一个功能,即在加载新文档之前,浏览器会清除当前的窗口的内容。用这个事件可以在卸载文档时给用户一个提示信息,比如说一个问候。

示例代码:

onfocus/onbiur

得到焦点是指浏览器窗口为当前的活动窗口,得到焦点时触发窗口对象的focus事件。相反的是当浏览器窗口变为后台窗口时,称为失去焦点。发生这种转换时触发名为blur的事件。通常将focus事件与blur事件都会联合起来,使用在与窗口活动状态有关的场合 。

resizeTo/resizeBy

窗口对象提供两个方法用于调整窗口的大小,分别是resizeTo和resizeBy。其中, resizeBy是相对于当前尺寸调整窗口大小,而resizeTo是把把窗口设置成指定的宽度和高度。当浏览器窗口大小被调整时,将会触发resize事件。

onerror

window对象中有一个可以用来处理错误信息的事件error,该事件由浏览器产生。以IE浏览器为例,一旦产生了JavaScript错误,就会在窗口状态栏中显示错误提示。只有在当前窗口中发生了JavaScript错误才激发error事件,虽然能得到错误通过,但与“try…catch…finally”异常处理结构不同,后者是语言机制,在这种机制下错误是可以挽回的。

示例代码:

运行程序,点击“提交”之后的效果:

alert/confirm/prompt

警告对话框是一个带感叹图标的小窗口,显示文本信息并且使扬声器发出“当~”的声音。通常用来输出一些简单的文本信息,通过调用window对象的alert方法即可显示一个警告对话框

询问对话框是具有双向交互的信息框,系统在对话框上放置按钮,根据用户的选择返回不同的值。设计程序时可以根据不同的值予以不同的响应,实现互动的效果。通常放在网页中,对用户进行询问并根据其选择而做选择不同的流程。

很多情况下需要向网页中的程序输入数据,简单的鼠标交互显然不能满足。此时就可以使用window对象提供的输入对话框,通过该对话框可以输入数据。通过window的prompt方法即可显示输入对话框,使用方法如下:

window.prompt( 提示信息,默认值 )

状态栏

status/defaultStatus

浏览器的状态栏通常位于窗口的底部,用于显示一些任务状态信息等。在通常情况下,状态显示当前浏览器的工作状态或用户交互提示信息 ,如图所示。

默认情况下,状态栏里的信息都是空的,只有在加载网页或将鼠标放在超链接上时,状态栏中才会显示与任务目标相关的瞬间信息。window对象的defaultStatus属性可以用来设置在状态栏中的默认文本,当不显示瞬间信息时,状态栏可以显示这个默认文本。defaultStatus属性是一个可读写的字符串 。

在默认情况下,将鼠标放在一个超链接上时,状态栏会显示该超链接的URL,此时的状态栏信息就是瞬间信息。当鼠标离开超链接时,状态栏就会显示默认的状态栏信息,瞬间信息消失 。

下面实现一个在状态栏显示当前时间的功能,示例代码:

运行效果:

打开新窗口

使用window对象的open方法可以打开一个新的浏览器窗口,新窗口作为本窗口的子窗口。相应的本窗口作为新窗口的次窗口,并持有对新窗口的一个引用,通过该引用可以适度的操作新窗口。open方法的语法如下:

window.open(url,name,features,replace)

其中,features是描述窗口的特征, replace指明是否允许url替换窗口的内容。

窗口的名字在窗口打开时可以设定,仍然用open方法,只是充分运用它的参数的设置。window.open方法可以设置新开窗口的名称,该窗口名称在a元素和form元素的target属性中使用 。

关闭窗口

如果获得一个window对象的引用时,通过该引用去调用其close方法就可以关掉一个与之相关的窗口。通常情况下,父窗口通过这种方式关闭子窗口。语法如下:

窗口名.close()

窗口的引用

上文已经提到通过窗口的引用可以操作内容,同时可以操作窗口的内容。使用些特性可以在一个窗口中控制另一个窗口的内容,例如向一个新开的浏览器窗口中输出内容。

scrollTo/scrollBy

浏览器中的内容大于其显示区域时,一般会出现滚动条便于查看被遮内容。用户可以拖动滚动条,也可以通过程序来控制窗口的滚动。调用window对象的scrollBy或scrollTo方法即可滚动文档

下面实现一个自动滚动的效果,示例代码:

setTimeout/setInterval

使用window对象的setTimeout方法可以延迟代码的执行时间,也可以用该方法来指定代码的执行时间。setTimeout方法的语法代码如下所示:

window.setTimeout(code,delay)

下面实现一个延迟加载的效果,示例代码:

代码延迟执行机制在执行一次后就失效,而在应用中,有时希望某个程序能反复执行,比如说倒计时等,需要每秒执行一次。为此可以使用window方法的setInterval方法,该函数设置一个定时器,每当定时时间到时就调用一次用户设定的定时器函数。

使用setInterval方法可以可以设定计时器,设定计时器时将返回一个计时器的引用。当不再需要的时候可以使用clearInterval方法移除计时器,其接收一个计时器ID作为参数,语法如下:

window.clearInterval(id)

window对象中的clearTimeout方法也可以取消延迟执行的代码。因为在实际应用中,如果有时出现特殊情况,不再需要程序自延迟执行的时候,就得想办法取消延迟。clearTimeout方法可以做到这一点。语法如下所示:

window.clearTimeout(id)

实现一个在线时钟的功能:

运行效果:

框架的相关知识

框架是指一个浏览器窗口中,同时显示的多个相互独立的网页。简单的说,在上网浏览网页时,时常会看到一些特别的页面,这种页面将网页分割成不同的几个区域,这些区域是相对独立但又有一定的联系的,可以在不同的地方加载不同的网页,这里所应用的正是框架。

在window对象中有一个frames属性,该属性返回一个数组,数组中的元素代表着框架中所包含的窗口。因此,在框架页中可以使用frames[0]表示第1个子窗口、frames[1]表示第2个子窗口,依此类推。如果一个窗口中没有包含框架,那么frames[]数组中的元素个数为0。

对于一个复杂的框架,窗口之间可以相互访问,它主要包括对框架自身的引用、对父窗口对子窗口的引用、子窗口对父窗口及其他窗口的引用、对顶级窗口的引用。下面是一个对父窗口的引用的例子的演示。

每一个窗口都有一个name属性,其表示一个窗口名,可以通过窗口来索引一个窗口的引用。在多框架页中name属性使用的比较多,通过name属性可以取得框架窗口的引用。

frameset常用的属性:

frame常用的属性:

iframe常用的属性:

以上即为javascript中窗口和框架的相关知识,关于window和frame的深层次知识留待以后研究了。

1.《js如何关闭父类窗口 如何关闭js脚本?》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《js如何关闭父类窗口 如何关闭js脚本?》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/3239531.html