JavaScript:不从后面的代码调用javascript函数

时间:2013-08-14 11:32:32

标签: javascript asp.net

我已经制作了一个.aspx页面来上传图片文件。

第1页 - 从那里我在js中使用window.open(像对话框这样的小尺寸)打开Page2.aspx。

然后在第2页Javascript我在WindowRefresh()函数下面刷新第1页并关闭第2页(文件上传完成后)。

这就是我使用'window.opener.location.href'来引用父页面(页面1)的原因。

在第2页中,我在Windowrefresh()函数下面刷新父窗口,它将关闭上传对话框窗口。

 function Windowrefresh() {
        if (window.navigator.appName == "Netscape") {
            window.opener.location.href = window.opener.location.href;
            window.opener.location.reload(true);
            self.close();
        }
        else if (window.navigator.appName == "Microsoft Internet Explorer") {
            window.opener.location.href = window.opener.location.href;
            window.opener.location.reload(true);
            window.close();
        }
    }

现在,当一个会话变量有一些值时,我想从第2页的代码中调用此函数。

我尝试了下面的事情。

ClientScript.RegisterStartupScript(this.GetType(), "key", "Windowrefresh();", true);

Page.ClientScript.RegisterStartupScript(this.GetType(), "Call my function", "Windowrefresh()", true);

但它既不令人耳目一新也不会结束。

我不确定这有什么问题。

1 个答案:

答案 0 :(得分:0)

做这样的事情..我还没有测试代码......在子窗口中

<body onunload="refreshParent();">

function refreshParent() {
  window.opener.location.href = window.opener.location.href;

  if (window.opener.progressWindow)

 {
    window.opener.progressWindow.close()
  }
  window.close();
}

当你有会话变量时关闭子窗口...(我不知道asp因此无法帮助你解决这个问题)