javascript - 阻止用户在离开后返回 React 应用程序
问题描述
我有一个非常简单的React
应用程序:
https://stackblitz.com/edit/react-testing-routes-navigate-outside-g7ejr5
我有 3 个反应页面:{ Page1
、、 }Page2
和Page3
1 个 html 页面:{ external.html
}。
我想以下列方式流动:
Page1
→ Page2
→ Page3
→external.html
具有特殊性的是,一旦用户离开Page3
并到达,external.html
他就根本无法返回React
应用程序。
请记住,我无法控制:(external.html
第 3 方网站)。
有没有办法在离开时完全禁用后退按钮和/或历史记录Page3
?
如果您对此有任何方法,请随时 fork 上面的项目并将新链接粘贴到此处。
谢谢!
解决方案
有不同的方法可以处理这个问题——
在你的里面page3.jsx -> goToLink
- 您可以使用
window.location.replace('external.html')
但这只会阻止用户返回 page3,它仍然允许返回 page2,依此类推。 - 您可以打开
external.html
usingwindow.open('external.html')
,但在这种情况下,您需要想办法以某种方式关闭当前选项卡。您可以尝试使用window.close()
,但这通常会给出此错误/警告Scripts may close only the windows that were opened by them.
推荐阅读
- python - 如何使 Python 运行时错误更详细?
- javascript - 如何编写一个函数,通过返回布尔值来检查数组是否包含数字
- javascript - 数组没有更新值
- mysql - MySQL:返回 NULL 或 0 Vales 的计数 (*)
- php - 如何通过使用斜线迁移来更新数据库中的数据?
- javascript - 如何忽略Javascript中的负数?
- node.js - 使用 AJAX 填充 HTML 表
- c# - 自引用循环,而我的持久天蓝色函数中有两个活动函数
- google-app-engine - 如何通过云外壳访问应用程序引擎中的系统代码?
- python - 分析包含 Dask 并行化的 Python