Chrome浏览器未使用Javascript window.close关闭当前选项卡



我们有一个ASP.Net MVC应用程序,在会话超时后显示静态SessionExpired html页面。SessionExpired页面使用另一个页面的window.location显示。我们在SessionExpired页面中有一个关闭窗口按钮,它有一个javascript点击函数window.close((来关闭窗口。然而,这在chrome浏览器中不起作用。

我已经尝试了网络上的所有解决方案,但它们在chrome v78版本中不起作用。

我试图使用窗口打开SessionExpired页面。打开而不是窗。位置如下

window.open("SessionExpired.html","_self") 

由于我不应该打开一个新的选项卡。但无法关闭窗口使用以下解决方案

window.open('','_self').close();

如果我使用,上述解决方案有效

window.open("sessionExpired.html");

但正如我所提到的,我无法打开一个新的选项卡并保持现有选项卡的打开状态。

如果我理解正确,你是在说:

  1. 用户打开一个选项卡并开始使用您的应用程序
  2. 在某个时刻,用户停止使用应用程序,应用程序处于空闲状态
  3. 用户的会话将过期,因此页面将使用过期消息和执行window.close()的"关闭"按钮刷新
  4. 单击"关闭"按钮不会关闭页面

如果是这样,恐怕您将无法使"关闭"按钮工作。您不能关闭用户以编程方式打开的窗口。

您可能会有一个按钮,将它们带到应用程序的登录页(在同一窗口内(。

最新更新