window.open和window.showModalDialog

时间:2023-03-09 15:51:40
window.open和window.showModalDialog

window.open

window.open是打开一个新窗口

 在window.open打开的窗口中刷新父页面 opener.location.reload();

打开一个窗口格式:属性可以任意设置

var salesWindow = window.open("/PageTemplate/Sales/AddSales.aspx?key=key&title=add", "窗口标题", 'height=' + iHeight + ', width=' + iWidth + ', toolbar=no,menubar=no,scrollbars=yes,resizeable=no,location=no,status=no,top=' + iTop + ',left=' + iLeft + '');

但我们把打开的窗口最小化后。再次点击窗口希望把之前的窗口打开。可以这样

//当前窗口已经存在
              if (salesWindow && !salesWindow.closed) {
                  salesWindow.focus(); //当前窗口最小化的时候。这样会弹出
                  return;
              }

在window.open打开的窗口中获取父页面的元素

比如 父页面的元素  <input type="hidden" name="name" value="8787"  id="yy"/>

语法:

jquery:     var pa = $("#yy", window.opener.document).val();
            alert(pa);
js:         alert(window.opener.document.getElementById("yy").value);

window.showModalDialog 是打开一个模态窗口

  同理:

var reVal = window.showModalDialog("/PageTemplate/ColumnSetting.aspx?id=id", "传的参数", "dialogWidth=" + iWidth + ";dialogHeight=" + iHeight + ",status=no");

接收父窗口传的值:我这里说的不是路径后面的值  而是 "传的参数部分"  则这样接收:var obj = window.dialogArguments;

当然。路径后面的值你也可以得到。你得到href然后截取就可以。

在打开的窗口返回值给父窗口 window.returnValue = "传值给父窗口"; //设置返回父窗口的值

var kk = reVal; //这里接收了子窗口传回的值