網上找了好多實現這個的方法,說的還是不明白。害得我(我自己的原因)以為是需要在服務器環境下才能跑通 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)