更改浏览器的后退按钮URL

16
我想禁止访问者在浏览器中返回,我尝试了这里的代码(如何使用JavaScript禁用浏览器中的后退按钮)并且运行良好,但是我想为我的应用程序做些更有用的事情。我想改变回退网址。
因此,如果回退URL是mywebsite.com/admin/add_new_article.php,我想将其更改为mywebsite.com/admin/index.php。
谢谢大家!

3
为什么?我相当确定这也不可能,而且也不应该。让我们考虑一下,一个用户访问了这个网站,毫无防备和清白无辜,他看到他访问的网站是“坏”的,想回到他的谷歌搜索页面,突然,这个用户现在进入了一个被感染的网站,他的电脑也跟着受到了感染。 - Epodax
好的,我明白了。谢谢您的回复。 - MM PP
我认为这对于PWA非常有用:请在WICG上投票支持此功能请求。尽管有评论指出,它也可以以安全的方式开发,以防止滥用。此功能是必要的,以使PWA的能力与原生应用程序保持一致! - collimarco
场景:如果移动端用户访问页面A,则会被重定向到页面A的移动版本。因此,如果用户按返回按钮,他将返回到页面A的桌面版,而不是实际来自的页面,并再次被重定向到页面A的移动版。无限循环。观众无法回到他来的地方。 - larry909
1个回答

18
<script type="text/javascript">
history.pushState(null, null, '<?php echo $_SERVER["REQUEST_URI"]; ?>');
window.addEventListener('popstate', function(event) {
    window.location.assign("http://www.yoururl.com/");
});
</script>

希望这可以帮助到你!


1
它似乎在iPhone的Chrome上无法正常工作,有什么我可以尝试修复这个问题吗?在桌面上的Mozilla和Chrome以及iPhone上的Safari都可以正常工作。 - adrianTNT
2
assign is not working so used window.location.href="http://www.yoururl.com/"; - Moumit
测试后,这似乎可以工作。我在HuffPost的一个网页上看到他们实际上这样做,使返回按钮指向他们的主页,并想知道他们是如何做到的。所以谢谢。 - Michael d
1
注意:这也会对href="#page-fragment"类型的URL产生反应,一般来说这些URL只是用于在页面上跳转。因此如果需要,请在这里做出例外。 - Hrvoje Golcic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接