JavaScript中的window对象

window是JavaScript的高级对象,它是document、location和history对象的父对象。正因为window是一个很高级的对象,所以通常在JavaScript代码编写中应用它的方法、属性时我们并不是必须写出window对象,如引用window的parent属性时:window.parent可以简单写成parent。window的属性有frames、parent、self、top、status和defaultStatus等六个,下面请看例子。

例6 window对象示例
<html>
<head>
<title>window对象示例</title>
</head>
<script language="JavaScript">
<!--
function init(){
window.defaultStatus="这一页是window对象示例!";
}

function windowOpener() {
msgWindow=open("","NewWindow","toolbar=0,directories=0,menubar=0");
msgWindow.document.write("<head><title>window对象示例--新窗口</title></head>");
msgWindow.document.write("<body><p>Hello,the world!</p><br>");
msgWindow.document.write("<p οnclick='NewWindow.close()'>点击此处可以关闭窗口!</p></body>");
}
-->
</script>
<body οnlοad="init()">
<p οnmοuseοver="window.status='Hello,the world!';return true">将鼠标放在上边可以改变浏览器的状态栏</p>
<p><br>
</p>
<p οnclick="windowOpener()">用鼠标点击可以打开一个新的窗口!</p>
</body>
</html>

    此例效果请看“ 在线示例

    在例6中,我使用了window对象的defaultStatus、status和self属性,对于另外的frames、parent、top属性我们将会在以后的教程中讲到。defaultStatus属性是用来设置浏览器的状态栏(一般是在浏览器的下边)显示的默认文本,status则是用来显示浏览器当前状态栏中的文本,它与defaultStatus是有所区别的。self属性指代的是当前窗口,它与window对象几乎是指同一个东东,比如,您想调用window的close()方法,则window.close()、self.close()和close()都将起到同样的作用,即关闭当前窗口。哈哈,这顺便把window的close()方法也讲了。

    当例6被浏览器装载时(即被浏览时),触发window对象的onload()事件(与之相反的是被卸载时将触发window对象的onUnLoad事件),onload()事件调用函数init(),在此函数中,window对象的defaultStatus属性被设置为文本“这一页是window对象示例!”,这样浏览器的状态栏就显示此文本了。对于语句<p οnmοuseοver="window.status='Hello,the world!';return true">将鼠标放在上边可以改变浏览器的状态栏</p>,当鼠标移动到文本上边时,将触发onmouseover事件,执行JavaScript代码,代码中将状态栏的文本设置为“Hello,the world!”,因为有两条语句,所以要用分号(;)隔开,第二条语句return true是不可缺少的,只有执行了此语句状态栏的文本设置才会生效。

    现在我们要重点来讲一下函数windowOpener()了,第一条语句使用了window对象的open()方法,此方法用来打开一个新的窗口,它有三个参数,前两个是必须填写的,第三个则是可选的,有没有都可以。语法如下
    window.open("URL", "windowName", ["windowFeatures"])
URL是新窗口所要装载的Html文件的网址和文件名,若此参数为"",则将打开一个空的什么也没有窗口(即没有任何源代码),您可以用我在前边讲的document.write()方法在此窗口中输入代码,本例就是如此。第二个参数windowName是新开的窗口的名字,此名字即是一个字符串,其中间不能有空格。第三个是可选参数windowFeatures,它是用来设置新窗口的一些特征东东。如toolbar=0设置新窗口中没有滚动轴,menubar=0设置新窗口中不显示菜单栏。参数之间要用逗号(“,”)隔开而且不能有空格,其它参数如下:

 toolbar[=yes|no]|[=1|0]
location[=yes|no]|[=1|0]
directories[=yes|no]|[=1|0]
status[=yes|no]|[=1|0]
menubar[=yes|no]|[=1|0]
scrollbars[=yes|no]|[=1|0]
resizable[=yes|no]|[=1|0]
copyhistory[=yes|no]|[=1|0]
width=pixels
height=pixels
 

    从参数的英文中很容易看出各个参数的作用。中括号“[]”表示的是可选项,这些参数很多都具有默认值yes或1,所以您也可以直接使用toolbar,它等价于toolbar=yes或者toolbar=1,但对于no值和0值的设置则要写全,即toolbar=no或者toolbar=0,其它参数项页是一样的。好了,将完了open()方法,我们继续下边的语句。程序中把新打开的窗口赋给了一个变量msgWindow,在JavaScript中,变量并不是必须声明了才可以使用,不声明一样用的很好,如果要声明的话,请用语句“var msgWindow;”,var即是用来声明变量的。后面就使用了msgWindow变量引用对象document的write()方法,因为msgWindow代表的是窗口对象,是老大,document对象是窗口对象的子对象,所以引用时必须层层引用,即先写msgWindow,再写document,然后才能引用document对象的write()方法。接下来的语句就是往新的窗口里输入代码了,这里就不多讲了。对于代码<p οnclick='NewWindow.close()'>点击此处可以关闭窗口!</p></body>,当鼠标点击此行文本后将触发onclick()事件,执行代码NewWindow.close(),即把名为NewWindow的新窗口关闭掉,此代码也可写成window.close(),因为NewWindow指的就是当前的新窗口window。对于window对象的close()方法我在前边已经讲过了,就不多说了。

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值