Javascript 阻止用户转到网站上的其他选项卡
我不知道你如何才能做到这一点,但如果我的网站上的用户输入了一些信息,并选择了另一个链接或标签,而没有保存,我想提出一个弹出窗口,并允许他们取消该行动。如果操作被取消,我希望阻止用户转到所选链接/选项卡 你真的能做到吗?我曾考虑过使用onload javascript事件,但我不确定如何防止该操作Javascript 阻止用户转到网站上的其他选项卡,javascript,asp.net,.net,Javascript,Asp.net,.net,我不知道你如何才能做到这一点,但如果我的网站上的用户输入了一些信息,并选择了另一个链接或标签,而没有保存,我想提出一个弹出窗口,并允许他们取消该行动。如果操作被取消,我希望阻止用户转到所选链接/选项卡 你真的能做到吗?我曾考虑过使用onload javascript事件,但我不确定如何防止该操作 这是一个使用jquery的ASP.net网站。这是一个相当不完美的解决方案,但这是我能得到的最接近的解决方案 将此事件处理程序添加到页面: window.onblur = function() {
这是一个使用jquery的ASP.net网站。这是一个相当不完美的解决方案,但这是我能得到的最接近的解决方案 将此事件处理程序添加到页面:
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.
}
}
注意:世界上没有任何解决方案会阻止用户打开另一个浏览器。或者,更好的办法是拿起手机在那里浏览。你不能强迫用户专注于你的应用
我强烈建议你重新考虑你的用户体验设计,如果它真的很脆弱,你不能让用户同时处理多个任务。@Pointy对同一个页面有效,那么在另一个选项卡上打开怎么样?我知道一个页面无法阻止用户选择或启动另一个选项卡。如果我这样做了,我会立即报告它是一个严重的拒绝服务安全漏洞。可能是@Oscar ok wait的重复-当你说tab时,你到底在说什么?如果它是你自己页面中的一些控件,那么是的,你可以做任何你想做的事情;禁用控件、隐藏其他选项卡、威胁用户等等。但如果你说的是浏览器标签,比如单独的网站,那么就不是了。