Tự động tải lại trang web sau khoảng thời gian không thao tác

Xin chào các bạn, trong bài viết này mình chia sẻ cho các bạn cách làm thế nào để tự động tải lại trang web khi mà người dùng truy cập trang đó không có bất kỳ hoạt động nào trên trang trong một khoảng thời gian nhất định. Ví dụ: 10 phút (không hề có lần di chuyển con trỏ chuột, click chuột, hay nhấn phím, … trên trang) thì ta sẽ tải lại trang đó.

Code Javascript

/* Auto refresh the page when user no activity for few seconds, using Javascript */
 
function setIdle(seconds, callback) {
    var timer,
        interval = (seconds * 1000);
    function refresh() {
        // Reset timer
        clearTimeout(timer);
        // Set timer
        timer = setTimeout(callback, interval);
    }
    // Add event to set timeout
    window.addEventListener("mousemove", refresh, true);
    window.addEventListener("click", refresh, true);
    window.addEventListener("keypress", refresh, true);
    // Invoke function "refresh" for first time
    refresh();
}
 
// Example, invoke function "setIdle"
setIdle(20, function() {
    window.location.reload(true);
});

Demo

Các bạn copy toàn bộ đoạn code trên thêm vào thẻ <script> trên trang web mà các bạn cần tải lại và sửa lại tham số 20 ở hàm setIdle nhé, mình để 20 ở đây có nghĩa là 20s. Ví dụ các bạn muốn để thời gian là 15 phút thì truyền 900 (60 * 15 = 900🙂 ), như vậy là cứ mỗi 15 phút mà người truy cập không có bất kỳ thao tác, hoạt động nào trên trang web, trang đó sẽ được tải lại.

Leave a Reply

Your email address will not be published. Required fields are marked *