阻止用户访问网站上的其他选项卡

时间:2014-06-24 18:29:35

标签: javascript asp.net .net

我不确定如何做到这一点,但如果我网站上的用户输入了一些信息并选择了另一个链接或标签而没有保存,我想提供一个弹出窗口并允许他们取消该操作。如果操作被取消,我想阻止用户转到选定的链接/选项卡。

你真的能这样做吗?我曾考虑使用onuload javascript事件,但我不确定你是如何阻止这一行动的。

这是一个使用jquery的ASP.net站点。

1 个答案:

答案 0 :(得分:0)

这是一个相当不完美的解决方案,但这是我能得到的尽可能接近。

将此事件处理程序添加到您的页面:

window.onblur = function() {
    var flag = confirm("Please don't leave!  Click OK if you really want to leave.  I hope you click cancel and stay with me.");
    if (flag) {
        window.onblur = undefined;
        alert("Ok you can leave now.  **sob**");
        //The user is leaving.  You can do a little cleanup here if you need to.
    }
}

注意:世界上没有任何解决方案会阻止用户打开另一个浏览器。或者,更好的是,拿起他们的手机并从那里浏览。您无法强迫用户专注于您的应用。

我强烈建议您重新考虑一下您的用户体验设计,如果它真的太脆弱,以至于您无法允许用户进行多任务处理。