js(ajax)判斷瀏覽器是關閉還是重新整理
阿新 • • 發佈:2020-08-26
首先需要匯入jquery檔案(我的是jquery-3.4.1.js),然後在jsp檔案裡面寫入以下js程式碼,因為網頁關閉與網頁重新整理各自所需要的時間,我們可以從這方面下手來辨別,從而做出不同的響應。
<script> let beginTime = 0;//執行onbeforeunload的開始時間 let differTime = 0;//時間差 window.onbeforeunload = function () { beginTime = new Date().getTime(); }; window.onunload = function () { differTime = new Date().getTime() - beginTime; if (differTime <= 5) { // console.log("瀏覽器關閉") $.ajax({ type: "POST", //請求方式是POST url: "${pageContext.request.contextPath}/user/logout.action?user=${currentUser.account}", //跳轉到相應後臺,清理session,退出操作 dataType: "JSON", //資料型別是JSON cache: false, //不需要快取 success: function (msg) { //執行成功後的提示 console.log(msg); }, error: function (err) { //執行失敗的提示 console.log(err) } }) } else { //當時間差>5時,就說重新整理啦(這裡需要注意的是這個時間差不是固定的,因為有些瀏覽器執行速度不一樣,所以這個界限不一定是5) // console.log("瀏覽器重新整理") } } </script>