JavaScript中的Window窗口对象


Posted in Javascript onJanuary 16, 2008

JavaScript中的Window窗口对象
他是JavaScript中最大的对象,它描述的是一个浏览器窗口。一般要引用它的属性和方法时,不需要用“window.xxx”这种形式,而直接使用“xxx”。一个框架页面也是一个窗口。

Window窗口对象有如下属性:

name 窗口的名称,由打开它的连接(<a target="...">)或框架页(<frame name="...">)或某一个窗口调用的 open() 方法(见下)决定。一般我们不会用这个属性。

status 指窗口下方的“状态栏”所显示的内容。通过对 status 赋值,可以改变状态栏的显示。

opener 用法:window.opener;返回打开本窗口的窗口对象。注意:返回的是一个窗口对象。如果窗口不是由其他窗口打开的,在 Netscape 中这个属性返回 null;在 IE 中返回“未定义”(undefined)。undefined 在一定程度上等于 null。注意:undefined 不是 JavaScript 常数,如果你企图使用“undefined”,那就真的返回“未定义”了。

self 指窗口本身,它返回的对象跟 window 对象是一模一样的。最常用的是“self.close()”,放在<a>标记中:“<a href="javascript:self.close()">关闭窗口</a>”。

parent 返回窗口所属的框架页对象。

top 返回占据整个浏览器窗口的最顶端的框架页对象。

history 历史对象,见下。

location 地址对象,见下。

document 文档对象,见下。

Window窗口对象有如下方法:
第一个方法是open() 打开一个窗口。
用法:
open(<URL字符串>, <窗口名称字符串>, <参数字符串>);

说明:

<URL字符串>:描述所打开的窗口打开哪一个网页。如果留空(''),则不打开任意网页。

<窗口名称字符串>:描述被打开的窗口的名称(window.name),可以使用'_top'、'_blank'等内建名称。这里的名称跟“<a href="..." target="...">”里的“target”属性是一样的。

<参数字符串>:描述被打开的窗口的样貌。如果只需要打开一个普通窗口,该字符串留空(''),如果要指定样貌,就在字符串里写上一到多个参数,参数之间用逗号隔开。

例:打开一个 400 x 100 的干净的窗口:
open('','_blank','width=400,height=100,menubar=no,toolbar=no,
location=no,directories=no,status=no, scrollbars=yes,resizable=yes')

open()的参数

top=# 窗口顶部离开屏幕顶部的像素数 

left=# 窗口左端离开屏幕左端的像素数 

width=# 窗口的宽度 

height=# 窗口的高度 

menubar=... 窗口有没有菜单,取值yes或no 

toolbar=... 窗口有没有工具条,取值yes或no 

location=... 窗口有没有地址栏,取值yes或no 

directories=... 窗口有没有连接区,取值yes或no 

scrollbars=... 窗口有没有滚动条,取值yes或no 

status=... 窗口有没有状态栏,取值yes或no 

resizable=... 窗口给不给调整大小,取值yes或no

注意:open() 方法有返回值,返回的就是它打开的窗口对象。比如
var newWindow = open('','_blank');

这样把一个新窗口赋值到“newWindow”变量中,以后通过“newWindow”变量就可以控制窗口了。

close() 关闭一个已打开的窗口。
用法:
window.close()


self.close()

主要作用是关闭本窗口;
<窗口对象>.close():关闭指定的窗口。注意如果该窗口有状态栏,调用该方法后浏览器会警告:“网页正在试图关闭窗口,是否关闭?”然后等待用户选择是否;如果没有状态栏,调用该方法将直接关闭窗口。
另外Window窗口对象还有如下方法

blur() 使焦点从窗口移走,窗口变为“非活动窗口”。

focus() 是窗口获得焦点,变为“活动窗口”。不过在 Windows 98,该方法只能使窗口的标题栏和任务栏上的相应按钮闪烁,提示用户该窗口正在试图获得焦点。

scrollTo() 用法:[<窗口对象>.]scrollTo(x, y);使窗口滚动,使文档从左上角数起的(x, y)点滚动到窗口的左上角。

scrollBy() 用法:[<窗口对象>.]scrollBy(deltaX, deltaY);使窗口向右滚动 deltaX 像素,向下滚动 deltaY 像素。如果取负值,则向相反的方向滚动。

resizeTo() 用法:[<窗口对象>.]resizeTo(width, height);使窗口调整大小到宽 width 像素,高 height 像素。

resizeBy() 用法:[<窗口对象>.]resizeBy(deltaWidth, deltaHeight);使窗口调整大小,宽增大 deltaWidth 像素,高增大 deltaHeight 像素。如果取负值,则减少。

alert() 用法:alert(<字符串>);弹出一个只包含“确定”按钮的对话框,显示<字符串>的内容,整个文档的读取、Script 的运行都会暂停,直到用户按下“确定”。

confirm() 用法:confirm(<字符串>);弹出一个包含“确定”和“取消”按钮的对话框,显示<字符串>的内容,要求用户做出选择,整个文档的读取、Script 的运行都会暂停。如果用户按下“确定”,则返回 true 值,如果按下“取消”,则返回 false 值。

prompt() 用法:prompt(<字符串>[, <初始值>]);弹出一个包含“确认”“取消”和一个文本框的对话框,显示<字符串>的内容,要求用户在文本框输入一些数据,整个文档的读取、Script 的运行都会暂停。如果用户按下“确认”,则返回文本框里已有的内容,如果用户按下“取消”,则返回 null 值。如果指定<初始值>,则文本框里会有默认值。

Window窗口对象有如下事件:
window.onload;发生在文档全部下载完毕的时候。全部下载完毕意味着不但 HTML 文件,而且包含的图片,插件,控件,小程序等全部内容都下载完毕。本事件是 window 的事件,但是在 HTML 中指定事件处理程序的时候,我们是把它写在<body>标记中的。
window.onunload;发生在用户退出文档(或者关闭窗口,或者到另一个页面去)的时候。与 onload 一样,要写在 HTML 中就写到<body>标记里。

window.onresize;发生在窗口被调整大小的时候。

window.onblur;发生在窗口失去焦点的时候。

window.onfocus;发生在窗口得到焦点的时候。

window.onerror;发生在错误发生的时候。它的事件处理程序通常就叫做“错误处理程序”(Error Handler),用来处理错误。上边已经介绍过,要忽略一切错误,就使用:
function ignoreError() {
  return true;
}
window.onerror = ignoreError;

Javascript 相关文章推荐
基于JQuery 选择器使用说明介绍
Apr 18 Javascript
JavaScript中反正弦函数Math.asin()的使用简介
Jun 14 Javascript
Angularjs修改密码的实例代码
May 26 Javascript
使用JS编写的随机抽取号码的小程序
Aug 11 Javascript
vue.js移动端app之上拉加载以及下拉刷新实战
Sep 11 Javascript
网页爬虫之cookie自动获取及过期自动更新的实现方法
Mar 06 Javascript
详解基于vue-cli3.0如何构建功能完善的前端架子
Oct 09 Javascript
angular 服务的单例模式(依赖注入模式下)详解
Oct 22 Javascript
如何测量vue应用运行时的性能
Jun 21 Javascript
Vue+iview+webpack ie浏览器兼容简单处理
Sep 20 Javascript
Vue.js组件通信之自定义事件详解
Oct 19 Javascript
Node.js实现断点续传
Jun 23 Javascript
JavaScript中的Screen屏幕对象
Jan 16 #Javascript
JavaScipt基本教程之JavaScript语言的基础
Jan 16 #Javascript
JavaScipt基本教程之前言
Jan 16 #Javascript
JavaScript中Math对象使用说明
Jan 16 #Javascript
语义化 H1 标签
Jan 14 #Javascript
javascript flash下fromCharCode和charCodeAt方法使用说明
Jan 12 #Javascript
[原创]用javascript实现检测指定目录是否存在的方法
Jan 12 #Javascript
You might like
ThinkPHP实现带验证码的文件上传功能实例
2014/11/01 PHP
PHP比你想象的好得多
2014/11/27 PHP
PHP开发框架laravel安装与配置教程
2015/03/13 PHP
php上传文件并存储到mysql数据库的方法
2015/03/16 PHP
详解ThinkPHP3.2.3验证码显示、刷新、校验
2016/12/29 PHP
浅析ajax请求json数据并用js解析(示例分析)
2013/07/13 Javascript
cookie的复制与使用记住用户名实现代码
2013/11/04 Javascript
使用js实现按钮控制文本框加1减1应用于小时+分钟
2013/12/09 Javascript
js 获取、清空input type=&quot;file&quot;的值(示例代码)
2013/12/24 Javascript
js实现局部页面打印预览原理及示例代码
2014/07/03 Javascript
jquery实现一个简单好用的弹出框
2014/09/26 Javascript
Javascript中实现String.startsWith和endsWith方法
2015/06/10 Javascript
原生js页面滚动延迟加载图片
2015/12/20 Javascript
URL中“#” “?” &amp;“”号的作用浅析
2017/02/04 Javascript
BootStrap selectpicker后台动态绑定数据
2017/06/01 Javascript
vue元素实现动画过渡效果
2017/07/01 Javascript
React操作真实DOM实现动态吸底部的示例
2017/10/23 Javascript
vue双花括号的使用方法 附练习题
2017/11/07 Javascript
JS实现打砖块游戏
2020/02/14 Javascript
[01:57]2016完美“圣”典风云人物:国士无双专访
2016/12/04 DOTA
[01:32:10]NAVI vs VG Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
[02:01]2018完美盛典-开场舞《双子星》
2018/12/16 DOTA
python备份文件的脚本
2008/08/11 Python
实例探究Python以并发方式编写高性能端口扫描器的方法
2016/06/14 Python
python实现分页效果
2017/10/25 Python
基于python神经卷积网络的人脸识别
2018/05/24 Python
浅析Python装饰器以及装饰器模式
2018/05/28 Python
python-str,list,set间的转换实例
2018/06/27 Python
python变量的作用域是什么
2020/05/26 Python
在pycharm中使用pipenv创建虚拟环境和安装django的详细教程
2020/11/30 Python
简述数据库的设计过程
2015/06/22 面试题
法学专业个人求职信
2013/09/26 职场文书
2014年大学庆元旦迎新年活动方案
2014/03/09 职场文书
商场收银员岗位职责
2015/04/07 职场文书
党员理论学习心得体会
2016/01/21 职场文书
javascript条件式访问属性和箭头函数介绍
2021/11/17 Javascript