当用户尝试使用f5、ctrl+5和jquery脚本刷新浏览器页面时,警报不起作用



当用户试图在浏览器中引用选项卡时,我需要向用户显示警报,它应该会得到警报"如果你提醒这个页面,你会丢失数据",但我使用jquery仍然无法正常工作。

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script>
$(window).on('beforeunload', function(){ 
alert("Don't refresh you will loose your all data?");   
//or
confirm("are you sure want to refresh this page !");
});
</script>

尝试返回

注意:并非所有浏览器都支持此

$(window).on("beforeunload", function (event) {
return "Are you sure you want to leave?";
});
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>

其他信息:

谷歌Chrome删除了对51版中自定义消息的支持

Opera删除了对ver 38 中自定义消息的支持

Mozilla Firefox删除了对44.0版本中自定义消息的支持

Apple Safari删除了9.1版中对自定义消息的支持

参考:https://stackoverflow.com/a/38880926/6299088

它将是这样的:

$(window).on('beforeunload', function(){ 
return confirm("are you sure want to refresh this page !");
});

绑定beforeunload事件:

$(window).bind("beforeunload",function(){ 
return confirm("Do you want to refresh this page?");
});

试试这个:

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script>
$(document).mousedown(function(e){ 
if( e.button == 2 ) { 
window.location.reload();
return false; 
} 
return true; 
});
$(window).on('keydown', function(e){
e = e || window.event;
if(e.keyCode == 116 || (event.key === "r" && event.ctrlKey)){
alert("Don't refresh you will loose your all data?");
confirm("are you sure want to refresh this page !");
}
});
$(window).on('beforeunload', function(){ 
alert("Don't refresh you will loose your all data?");   
//or
confirm("are you sure want to refresh this page !");
});
</script>

最新更新