18910140161

JavaScript-防止用户在离开React应用程序后返回该应用程序-堆栈溢出

顺晟科技

2022-10-18 12:24:57

139

我有一个非常简单的React应用程序:

https://stackblitz.com/edit/react-testing-routes-navigate-outside-g7ejr5.

其中,我有3个React页面:{Page1Page2Page3}。

我想以下面的方式流动:

external.htmlPage1第3页外部.HTML特殊之处在于,一旦用户离开Page2并到达Page3,他就根本无法返回到react应用程序。

请记住,我无法控制:Page3(第三方网站)。

有没有办法在离开Page3时完全禁用后退按钮和/或历史记录?

如果您对此有任何方法,请随时分叉上面的项目,并将新链接粘贴在这里。

谢了!


顺晟科技:

有不同的方法可以处理这个问题-

external.html

  1. 您可以使用React但这只会阻止用户返回到第3页,它仍然允许返回到第2页,依此类推。
  2. 您可以使用external.html打开Page3,但在这种情况下,您需要找到关闭当前选项卡的方法。您可以尝试使用page3.jsx -> goToLink,但这通常会给出此错误/警告:window.location.replace('external.html')

似乎有什么东西正在授权您的用户访问页面1、2和3。无论如何,您都需要以某种方式跟踪他们的会话。如何知道何时调用external.html

怎么知道是同一个人,不同的人,还是同一个人关闭了浏览器,操纵了他的本地存储,或者发送了一些人为的请求,让他们再次访问你的页面。如果使用授权/身份验证,则100%需要某种类型的会话跟踪。

我认为

最好的方法是使用JWTS。第1页、第2页和第3页需要JWT,然后在最后一页剩余时将其过期/删除(也将其置于短期过期计时器上)。

你不需要用户登录或任何繁重的工作来做这件事,只要在你认为他们有权查看页面时,向他们发送一个智威汤逊cookie,并要求他们访问。

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航