Javascript - 从弹出窗口将父级重定向到新页面

时间:2017-02-22 23:34:40

标签: javascript parent-child window.open

我有一个页面可以使用Javascript打开弹出文件选择器窗口。一旦用户选择文件,父窗口就会重定向到加载文档的页面。我已准备好许多有同样问题的帖子,但还没有找到解决方案。我有以下代码:

openChildWindow("FileMan2.aspx?UN=<%= Header1.UserNumber %>&FormMode=OPEN&RetObj=PRINTLETTER&PrintCase=" + OpenFlag, 550, 350);

function openChildWindow(URL, width, height) {
        if (window.showModalDialog) {
            window.showModalDialog(URL, window.self, "dialogWidth:" + width + "px;dialogHeight:" + height + "px;center:yes;scroll:no;resizable:no;status:no;unadorned:no;edge:raised");
        } else {
            window.open(URL, "docman", "width=" + width + ", height=" + height + ", screenX=0, screenY=0, status=no, scrollbars=no,toolbar=no,menubar=no,top=200,left=200,modal=yes");
        }
    }

 var URL = window.location.protocol + "//" + window.location.host + "/CaseLetter.aspx?Case=<%= CaseNumber %>&UN=<%= Header1.UserNumber %>&Letter=" + file + "&FileName=" + file + "&COID=<%=GlobalVar.LawFirm %>&FilePath=<%= AddPath %>";
        window.opener.location.href = URL;

网址评估为&#34; http://example.com:80/CaseLetter.aspx?Case=35251&UN=1&Letter=asdf&FileName=asdf&COID=ar000001&FilePath=&#34;

我得到的错误是&#34;无法获取未定义或空引用的属性&#39;位置。我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

我会在变量中存储对模态的引用的路径,然后轮询以查看模式何时使用其closed布尔属性来关闭(这在下面运行代码段时不起作用,因为stackoverflow阻止模态,但您可以通过将其复制到chrome dev工具控制台来验证。

&#13;
&#13;
let modal = window.open("https://www.google.com?q=cats", "docman", "width=500,height=500,screenX=0, screenY=0,status=no,scrollbars=no,toolbar=no,menubar=no,top=200,left=200,modal=yes")

function onClose () {
  alert("Modal was closed")
}

let intervalID = setInterval(() => {
  if(modal && modal.closed) {
    clearTimeout(intervalID)
    onClose()
  }
}, 200)
&#13;
&#13;
&#13;