window.open()与window.showModalDialog区别

来源:互联网 发布:查学校的软件下载 编辑:程序博客网 时间:2024/05/21 17:01
弹出窗口两种方式: 1.window.showModalDialog: var feature = "dialogWidth:615px;dialogHeight:505px;status:no;help:no;scroll:no;resizable:no;center:yes"; window.showModalDialog(url, Object(传给弹出窗口的参数,可以是任何类型),feature) 决定窗口的外观是第三个参数feature,其中center属性指定为"yes",弹出窗口居中; 如果想手动指定弹出窗口的具体位置,去掉center属性, 用dialogTop(弹出窗口上边界居屏幕上的距离) dialogLeft(弹出窗口左边界居屏幕左的距离)属性 如:(距离是px像素),这里手动指定弹出窗口位置居中 var iTop = (window.screen.availHeight-550)/2; //获得窗口的垂直位置,550为弹出窗口的height; var iLeft = (window.screen.availWidth-640)/2; //获得窗口的水平位置,640为弹出窗口的width; var feature = "dialogWidth:640px;dialogHeight:550px;status:no;help:no;scroll:no;resizable:no;dialogTop:'+iTop+';dialogLeft:'+iLeft+';"; 2.window.open: var feature = "width=615,height=505,menubar=no,toolbar=no,location=no,scrollbars=no,status=no,modal=yes" window.open(url, "name(只能为字符串,不能传window)", feature) 手动指定弹出窗口位置,属性top:(弹出窗口上边界居屏幕上的距离) 属性left:(弹出窗口左边界居屏幕左的距离) 下面指定弹出窗口位置居中(这种方式没有center属性): var iTop = (window.screen.availHeight-550)/2; //获得窗口的垂直位置,550为弹出窗口的height; var iLeft = (window.screen.availWidth-640)/2; //获得窗口的水平位置,640为弹出窗口的width; var feature = "width=615,height=505,top="+iTop+",left="+iLeft+",menubar=no,toolbar=no,location=no,scrollbars=no,status=no,modal=yes"; 子窗口调用父窗口的东东(控件或者方法): 1. window.open打开的子窗口有window.opener属性 子窗口通过window.opener.xxxx获得父窗口的东东。 如:window.opener.document.getElementById("userName");得到父页面的控件。 window.opener.fresh();调用父页面的js方法。 2. window.showModalDialog:不支持window.opener, 子窗口通过window.dialogArguments.xxxx获得父窗口的东东。 父窗口通过showModalDialog(url,para,feature)第二个参数para传参数给子窗口, 子窗口通过window.dialogArguments获得父窗口穿过来的东西。 如:这里传父页面的window过去 父页面:showModalDialog(url,window,feature) 子页面:var name = window.dialogArguments.document.getElementById("userName").value;得到父页面的控件。 var name = window.dialogArguments.fresh();调用父页面的方法。 这里的window.dialogArguments里的window代表父页面的window,它是通过showModalDialog方法的第二个参数window传过来的, 当然也可以传数组或其它变量。 调用js方法实际上是这样:window.方法名();
0 0
原创粉丝点击