js中子窗口与父窗口的互操作

1.打开一个子窗口

   window.open(url,name,params):该方法将返回一个window对象

   其中url为子窗口的路径,name为子窗口名称,该名称可以是_blank,_top,_parent等内建名称。

   params为子窗口参数,窗口参数可以为:

    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 


2.打开一个模态窗口,即是对话框。

  window.showModalDialog(sURL,vArguments,sFeatures) :创建模态对话框,传递一个父窗口对象作为参数。

  window.showModelessDialog(sURL,vArguments,sFeatures) :创建非模态对话框,传递一个父窗口对象作为参数。

  其中sURL为窗口路径,vArguments为传递的参数,sFeatures为对话框配置参数。

  sFeatures的参数有:

    dialogHeight:对话框高度 
    dialogWidth: 对话框宽度。  
    dialogLeft: 距离桌面左的距离。  
    dialogTop: 离桌面上的距离。 
    center: 窗口是否居中,默认yes,取值范围{yes | no | 1 | 0 }。   
    help: 是否显示帮助按钮,默认yes,取值范围 {yes | no | 1 | 0 }。 
   resizable: 是否可被改变大小,默认no,取值范围 {yes | no | 1 | 0 }。 
   status: 是否显示状态栏,默认为yes[ Modeless]或no[Modal],取值范围{yes | no | 1 | 0 }。 
    scroll:指明对话框是否显示滚动条,默认为yes,取值范围{ yes | no | 1 | 0 | on | off }。 
    dialogHide:在打印或者打印预览时对话框是否隐藏,默认为no,取值范围{ yes | no | 1 | 0 | on | off }。 
    edge:指明对话框的边框样式,默认为raised,取值范围{ sunken | raised }。 
    unadorned:默认为no,取值范围{ yes | no | 1 | 0 | on | off }。 


  模态对话框和非模态对话框的区别在于:

    非模态对话框不需要window.close()关闭,当url改变时自动关闭,焦点可以不是窗口,而模态对话框的焦点不能转移。

    注意:模态方法创建的窗口都不能让子窗口对父窗口直接进行操作,必须在创建的时候将父窗口传入子窗口,子窗口才能操作父窗口。


3.子窗口与父窗口的通信

  a.通过window.open()方式打开的子窗口

    window.opener.location.reload(); //子窗口刷新父窗口 
    window.opener.location.href //获取父窗口href 
    window.opener.locaiton.pathname //获取父窗口路径名 

    window.location.href=window.location.href ; //重新定位当前页面 
    window.location.reload(); //刷新当前页面

    window.close();//关闭当前页面


  b.通过模态打开的子窗口

    创建时子窗口时传入父窗口对象。

    var newWin=window.showModelDialog(url,window,''); //window为父窗口对象
    newWin.open(); 

    //在子窗口中获取父窗口父窗口对象

    var parent=widnow.dialogArguments; 

    这样就可以通过parent对象操作父窗口了。


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值