当用户试图在浏览器中引用选项卡时,我需要向用户显示警报,它应该会得到警报"如果你提醒这个页面,你会丢失数据",但我使用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>