系统可能不会保存你所做的修改 onbeforeunload

网上找了好多实现这个的方法,说的还是不明白。害得我(我自己的原因)以为是需要在服务器环境下才能跑通 window.onbeforeunload; 后来猜想是不是函数返回值发生变化就会触发。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<body>
<input type="text" id = 'input' value = 'kkk'>
</body>
<script>

window.onbeforeunload = function() { 
    return $('#input').val()
}
</script>
</html>

 以上仅仅是我个人的见解,没有得到认证,项目中使用的时候还有些问题。所以大家辩证的看 以后得到验证后再更新。

---------以下08-22更新------

window.onbeforeunload =function() {
   // code...
return null; }
如果返回null的话,就不会弹出对话框,在这个函数中可以进行操作。改变弹出框文字的没找到,应该是不可以的。(https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload#Notes)
原文地址:https://www.cnblogs.com/aiyr/p/9092811.html