如果未经身份验证,则退出引导模式对话框

Break out of Bootstrap modal dialog if unauthenticated

本文关键字:模式 对话框 退出 身份验证 如果      更新时间:2023-09-26

我有一个站点出于安全原因要求非活动用户会话在 20 分钟后过期,这工作正常。

在某些情况下,用户加载了一个页面,其中包含一个链接来生成一个模式对话框,该对话框从站点上的另一个 url 加载内容,但是此 URL 也需要对用户进行身份验证。发生的情况是,用户仍然可以在会话过期后单击链接,而不是获得预期的内容,而是将其重定向到登录页面,但在模态内。页面的设计不适合在模态内显示,因此我需要将用户从模态窗口中分离出来。

标准页面上,我使用以下脚本来确保用户不会被困在另一个站点框架中:

if (top.location != location) {
    top.location.href = document.location.href;
}

这工作正常,但在模式对话框中似乎没有效果?

根据文档,生成模态的链接如下且非常标准:

<a data-target="#myModal" data-toggle="modal" href="./JoinWaitingList">Join Waiting List</a>

如果有人有任何想法,我正在寻找解决问题的解决方案或替代方法?

谢谢,西蒙

使用 $('#myModal').modal('hide') 从原始页面(打开它)中隐藏模态。请参阅文档。

您无法从作为内容加载到其中的页面内部关闭模式。您可以从外部查看加载的页面,以检查登录内容是否已加载,但前提是该页面与外部页面位于同一域中。(否则,您将遇到跨域限制。