代码改变世界

window.open和window.showModalDialog

2013-08-21 17:26  糯米粥  阅读(358)  评论(0编辑  收藏  举报

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; //这里接收了子窗口传回的值