[JavaScript] window的常用属性和方法

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

 

属性

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 文档对象,详见后文[JavaScript] document的常用属性和方法。

 

方法

open() 打开一个窗口。

            用法:open(<URL字符串>, <窗口名称字符串>, <参数字符串>);
     <URL字符串>:描述所打开的窗口打开哪一个网页。如果留空(''),则不打开任意网页。
     <窗口名称字符串>:描述被打开的窗口的名称(window.name),可以使用'_top'、'_blank'等内建名称。这里的名称跟“<a href="..." target="...">”里的“target”属性是一样的。
    <参数字符串>:描述被打开的窗口的样貌。如果只需要打开一个普通窗口,该字符串留空(''),如果要指定样貌,就在字符串里写上一到多个参数,参数之间用逗号隔开。

例:打开一个 400 x 100 的干净的窗口:

window.open( '' , ' _blank ' , ' width=400,height=100,menubar=no,toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=yes ' )

    
//   参数
      
    
//   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()可能会因为某些原因被IE拦截可以试试showModalDialog()方法)

open() 方法有返回值,返回的就是它打开的窗口对象。所以, var newWindow = open('','_blank');

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

showModalDialog() (IE 4+ 支持) 用来创建一个显示HTML内容的模态对话框。

                                  用法:window.showModalDialog(sURL [, vArguments] [,sFeatures]);

close() 关闭一个已打开的窗口。
             用法:window.close() 或 self.close():关闭本窗口;
   <窗口对象>.close():关闭指定的窗口。
  如果该窗口有状态栏,调用该方法后浏览器会警告:“网页正在试图关闭窗口,是否关闭?”然后等待用户选择是否;如果没有状态栏,调用该方法将直接关闭窗口。


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


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


scrollTo() 用法:[<窗口对象>.]scrollTo(x, y);使窗口滚动,使文档从左上角数起的(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 值。如果指定<初始值>,则文本框里会有默认值。

 

history 历史对象,历史对象指浏览器的浏览历史。鉴于安全性的需要,该对象收到很多限制,现在只剩下下列属性和方法。

 

属性

length 历史的项数。JavaScript 所能管到的历史被限制在用浏览器的“前进”“后退”键可以去到的范围。本属性返回的是“前进”和“后退”两个按键之下包含的地址数的和。

 

方法

back() 后退,跟按下“后退”键是等效的。


forward() 前进,跟按下“前进”键是等效的。


go() 用法:history.go(x);在历史的范围内去到指定的一个地址。如果 x < 0,则后退 x 个地址,如果 x > 0,则前进 x 个地址,如果 x == 0,则刷新现在打开的网页。history.go(0) 跟 location.reload() 是等效的。

 

 

location 地址对象,它描述的是某一个窗口对象所打开的地址。要表示当前窗口的地址,只需要使用“location”就行了;若要表示某一个窗口的地址,就使用“<窗口对象>.location”。

注意 属于不同协议或不同主机的两个地址之间不能互相引用对方的 location 对象,这是出于安全性的需要。例如,当前窗口打开的是“www.a.com”下面的某一页,另外一个窗口(对象名为:bWindow)打开的是“www.b.com”的网页。如果在当前窗口使用“bWindow.location”,就会出错:“没有权限”。这个错误是不能用错误处理程序(Event Handler,参阅 onerror 事件)来接收处理的。

 

属性

protocol 返回地址的协议,取值为 'http:','https:','file:' 等等。


hostname 返回地址的主机名,例如,一个“http://www.microsoft.com/china/”的地址,location.hostname == 'www.microsoft.com'。


port 返回地址的端口号,一般 http 的端口号是 '80'。


host 返回主机名和端口号,如:'www.a.com:8080'。


pathname 返回路径名,如“http://www.a.com/b/c.html”,location.pathname == 'b/c.html'。


hash 返回“#”以及以后的内容,如“http://www.a.com/b/c.html#chapter4”,location.hash == '#chapter4';如果地址里没有“#”,则返回空字符串。


search 返回“?”以及以后的内容,如“http://www.a.com/b/c.asp?selection=3&jumpto=4”,location.search == '?selection=3&jumpto=4';如果地址里没有“?”,则返回空字符串。


href 返回以上全部内容,也就是说,返回整个地址。在浏览器的地址栏上怎么显示它就怎么返回。如果想一个窗口对象打开某地址,可以使用“location.href = '...'”,也可以直接用“location = '...'”来达到此目的。

 

方法

reload() 相当于按浏览器上的“刷新”(IE)或“Reload”(Netscape)键。


replace() 打开一个 URL,并取代历史对象中当前位置的地址。用这个方法打开一个 URL 后,按下浏览器的“后退”键将不能返回到刚才的页面

 

        window.showModalDialog( " OpinionDetiles.aspx " , "" , " dialogWidth=200px;dialogHeight=100 pxtop=0,left=0,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no " ); 
        
//         参数说明:
//
        sURL--
//
        必选参数,类型:字符串。用来指定对话框要显示的文档的URL。
//
        vArguments--
//
        可选参数,类型:变体。用来向对话框传递参数。传递的参数类型不限,包括数组等。对话框通过window.dialogArguments来取得传递进来的参数。
//
        sFeatures--
//
        可选参数,类型:字符串。用来描述对话框的外观等信息,可以使用以下的一个或几个,用分号“;”隔开。
//
        1.dialogHeight :对话框高度,不小于100px,IE4中dialogHeight 和 dialogWidth 默认的单位是em,而IE5中是px,为方便其见,在定义modal方式的对话框时,用px做单位。
//
        2.dialogWidth: 对话框宽度。
//
        3.dialogLeft: 离屏幕左的距离。
//
        4.dialogTop: 离屏幕上的距离。
//
        5.center: {yes | no | 1 | 0 }:窗口是否居中,默认yes,但仍可以指定高度和宽度。
//
        6.help: {yes | no | 1 | 0 }:是否显示帮助按钮,默认yes。
//
        7.resizable: {yes | no | 1 | 0 } [IE5+]:是否可被改变大小。默认no。
//
        8.status: {yes | no | 1 | 0 } [IE5+]:是否显示状态栏。默认为yes[ Modeless]或no[Modal]。
//
        9.scroll:{ yes | no | 1 | 0 | on | off }:指明对话框是否显示滚动条。默认为yes。
//
        下面几个属性是用在HTA中的,在一般的网页中一般不使用。
//
        10.dialogHide:{ yes | no | 1 | 0 | on | off }:在打印或者打印预览时对话框是否隐藏。默认为no。
//
        11.edge:{ sunken | raised }:指明对话框的边框样式。默认为raised。
//
        12.unadorned:{ yes | no | 1 | 0 | on | off }:默认为no。
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值