禁止用户使用新的浏览器选项卡注销

Posted

技术标签:

【中文标题】禁止用户使用新的浏览器选项卡注销【英文标题】:Disallow user to logout using a new browser tab 【发布时间】:2015-10-18 20:16:41 【问题描述】:

我面临以下问题。在我的 Web 应用程序中,有注销按钮。如果用户滚动点击它,它会在一个新选项卡中打开,用户已注销,但仍然有前一个选项卡,该选项卡在单击任何内容后会破坏。

我知道,许多应用程序不允许用户退出新标签。也许还有其他解决方案,但我对前端很陌生,不知道。

【问题讨论】:

为什么注销会打开一个新标签页?改变这种行为并解决问题 我认为允许用户在单独的窗口中注销没有任何问题。但是,您需要在服务器端做的是在允许用户访问任何卡片之前验证用户是否已登录。 【参考方案1】:

如果您使用原生 href 属性将用户重定向到新页面, 预防是不可能的。

你可以使用一些 JS “hacks”。 一个例子可能是:

    创建一个绑定了一些js函数的锚元素 防止默认行为(处理事件对象) 进行指向注销服务器控制器的自定义 ajax 调用 响应来时刷新页面

【讨论】:

感谢您的回复。不幸的是我不能这样做,所以我不能将你的答案标记为解决方案。向上箭头给你:)

以上是关于禁止用户使用新的浏览器选项卡注销的主要内容,如果未能解决你的问题,请参考以下文章

当用户注销 php 中打开的选项卡之一时,自动注销所有打开的选项卡

当用户关闭浏览器或选项卡而不注销时如何将用户标记为离线

为不再活动的所有用户添加注销时间(关闭浏览器或选项卡)[重复]

Rails设计gem:强制注销浏览器选项卡关闭

自动检测浏览器选项卡中的注销?

从选项卡注销,不适用于所有其他选项卡