我想在用户要离开页面时提醒他们,无论是关闭选项卡或窗口,还是通过链接转到新的 URL 等。目前,我有以下代码:
$scope.$on('$locationChangeStart', function (event, next, current) {
if (current.match("fairs/")){
var answer = confirm("Are you sure you want to leave this page?");
if (!answer) {
event.preventDefault();
}
}
}
它的作用是在离开带有“fairs/”(URI)的页面时弹出确认框,这正是我想要的。但是,它会在页面重定向后弹出,因此,如果您单击“取消”并且它尝试阻止默认事件,它将保留在重定向的页面上。然后,如果您尝试离开该页面,确认框将再次弹出,因为浏览器仍然认为它位于“fairs/”页面上。
我从另一个问题中得到了解决方案,但这对我不起作用。如何获取它以便在页面重定向之前弹出确认框?
最佳答案
<script type="text/javascript">
var popit = true;
window.onbeforeunload = function() {
if(popit == true) {
popit = false;
return "Are you sure you want to leave?";
}
}
</script>
尝试上面的方法
关于javascript - 当用户离开页面时提醒他们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29750209/