众所周知,在移动网络浏览器中,如果您单击返回按钮,Web应用程序将转到上一页,对吗?
但是,如果我想设置某个条件来阻止 Web 应用程序转到上一页,该怎么办。
例如,如果弹出SweetAlert2对话框,后退按钮将关闭SweetAlert2对话框..但是如果没有SweetAlert2对话框,后退按钮将转到上一页。
我期望的代码如下所示:
export default {
mounted() {
document.addEventListener("backbutton", function(){
if(is_swal_open){
close_swal_dialog();
return false; // NOTE: i expected this should prevent from go to previous page
}
});
},
}
你可以做的是警告用户:
if(is_swal_open)
{
window.onbeforeunload = function() { return "Your warning here."; };
}
或添加事件侦听器,如下所示:
window.addEventListener('beforeunload', function (e) {
if(is_swal_open)
{
// Cancel the event
e.preventDefault();
// Chrome requires returnValue to be set
e.returnValue = '';
}
});