当Response.Redirect打开页面时,window.close()不起作用

时间:2016-07-02 07:10:05

标签: javascript c# html asp.net browser

我有两个名为Default.aspx和Default2.aspx的asp.net网页。 Default.aspx页面上有一个ASP按钮。单击按钮事件,我将重定向到Default2.aspx页面。在此页面上有一个HTML输入按钮,用于关闭此Default2.aspx页面。我无法在IE中执行此操作,但在Google Chrome和Firefox浏览器中失败。这是我打开Default2.aspx页面的代码:

protected void Button1_Click(object sender, EventArgs e)
{
  Response.Redirect("Default.aspx");      
}

在Default2.aspx页面上,我正在处理onClick事件以关闭此窗口。这是我的代码spinet:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>

<script type="text/javascript">
    function Close() {
      window.close();
    }      
</script>
</head>
<body>
<form runat="server">
    <input type="button" onclick="Close();" value="Close me"/>      
</form>
</body>
</html>

我已经浏览了以下参考资料,并尝试了此链接中建议的每个可能的解决方案。他们在这里:

Issue with window.close and chrome

window.close() doesn't work - Scripts may close only the windows that were opened by it

Chrome “Scripts may close only the windows that were opened by it” error

window.close and self.close do not close the window in Chrome

我查看了开发工具,发现有一个警告引用“脚本可能只关闭它打开的窗口。” 注意:这将在Internet Explorer中有效,但在其他浏览器中无效。

任何人都可以遇到同样的问题并找到任何解决方案吗?请帮助我。 任何帮助,将不胜感激。 感谢

1 个答案:

答案 0 :(得分:0)

问题与Response.Redirect("Default.aspx")无关。 window.close无法关闭window.open未打开的窗口:

MDN说:

  

Window.close()方法关闭当前窗口或调用它的窗口。

     

此方法仅对已打开的窗口调用允许   通过使用 window.open()方法的脚本。如果窗口不是   由脚本打开,JavaScript中出现以下错误   控制台:脚本可能无法关闭脚本未打开的窗口。