Cách chặn người dùng tải lại trang bằng javascript?

Như tiêu đề em muốn hỏi có cách nào khiến người dùng không thể F5 (refresh - tải lại) được tab đang mở không ạ?

Không được, vì không có trình duyệt nào có chức năng đó cả.

2 Likes

Bắt sự kiện nhấn phím, kiểm tra là phím F5 thì chặn lại. Khá nhiều trang áp dụng cách này.

Còn tải lại thông qua các chức năng khác của trình duyệt, ngoài quyền kiểm soát của Javascript thì cũng đành chịu:

  • Chuột phải > Tải lại
  • Trình đơn của trình duyệt > Tải lại
  • Nhấn vào thanh địa chỉ > Enter
  • Nhấn vào nút biểu tượng Tải lại.

Nhưng Javascript cũng có một sự kiện để phát hiện rời khỏi trang: beforeunload. Sẽ hiện thông báo hỏi người dùng muốn rời hay không. Sự lựa chọn là ở người dùng.

Nói chung là không thể bắt buộc mọi thứ được. Nếu Javascript có mọi “quyền năng” thì nguy hiểm lắm đấy.

6 Likes

dạ… e cũng tìm gg thấy chỉ là chẳng F5… thế em phải nghĩ cách ở phía backend rồi.
em cảm ơn

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?