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);
});
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 = 900s ), 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.