我想在用户单击浏览器“后退按钮”时警告用户,然后在确认后重定向他们。
下面是我的 JS 代码,但仅适用于 Firefox,我想让它也适用于 Chrome 和其他浏览器。
注意:为了在 Chrome 中触发该事件,我需要首先单击页面主体,然后单击浏览器“后退”按钮(这不好)。
请协助。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Page2</title>
</head>
<body>
<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
crossorigin="anonymous"></script>
<script>
$(function(){
window.history.pushState({page: 1}, "", "");
window.onpopstate = function(event) {
if(event){
var confirm = window.confirm("Please, note that you may lose your move details by returning to the previous page.");
}
}
});
</script>
</body>
</html>
我发现了一个有用的链接,它解释了 Chrome 和其他浏览器的这种行为。
“Chrome 计划将您从那些干扰您后退按钮的网站中拯救出来” https://nakedsecurity.sophos.com/2019/05/09/chrome-plans-to-save-you-from-sites-that-mess-with-your-back-button/
上面帖子中提到的一些滋扰网站,uses这种行为,对他们有利。所以,像 Chrome 这样的浏览器似乎故意阻止这些带有“后退按钮”的偷偷摸摸的黑客行为(显然是由于安全原因和流畅的用户体验)。另外,我怀疑是否有人找到了一个漂亮的 hack,然后 Chrome 开发者将再次发展他们的安全检查,正如帖子中所说。
无论如何,我们还有 Firefoxwith us。祝你好运 ;)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)