頁面的beforeunload和unload的事件應用


博主最近遇到一個需求,需要在用戶離開之前給一個提示,是否確認離開,並且用戶確認離開的話,需要發出一個請求

下面直接上代碼:

<!DOCTYPE HTML>
<html>

<body>
    <script>
        // 只有屏幕和用戶互動過后,用戶離開頁面(關閉、刷新、跳轉其他頁面)才會觸發
        window.onbeforeunload = event => {
            console.log('onbeforeload!!!!!')
            if (event) {
                event.returnValue = '關閉提示';
            }
        }
        // 不管有沒有和用戶互動過,只要用戶離開頁面(關閉、刷新、跳轉其他頁面)就會觸發
        window.onunload = () => {
            console.log('onunload!!!!!')
            let xhr = new XMLHttpRequest();
            xhr.open('get', '/test', true)
            xhr.send()
            // 加一段同步代碼阻塞一下,不然刷新會發不出去異步請求
            let now = new Date()
            while (new Date() - now < 100) { }
        }
    </script>
</body>

</html>

 

值得主要的點:

1.離開之前的提示無法自定義,只能是瀏覽器提供的文案,大概效果如下:

2.unload事件如果要發異步請求的話,需要后面給補一段同步代碼阻塞一下,否則會在請求會發不出去的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM