Cuối cùng, tôi đã có một giải pháp để tải lại trang một lần sau hai tháng nghiên cứu.
Nó hoạt động tốt trên dự án JS phía khách hàng của tôi.
Tôi đã viết một hàm dưới đây chỉ tải lại trang một lần.
1) Lần đầu tiên nhận được thời gian tải lên của trình duyệt
2) Nhận dấu thời gian hiện tại
3) Thời gian tải lên trình duyệt + 10 giây
4) Nếu thời gian tải lên của Trình duyệt lớn hơn 10 giây so với dấu thời gian hiện tại thì trang có thể được làm mới qua "reloadPage ();"
Nhưng nếu nó không lớn hơn 10 giây có nghĩa là trang chỉ được tải lại do đó nó sẽ không được tải lại nhiều lần.
5) Do đó nếu bạn gọi "reloadPage ();" chức năng ở đâu đó trong trang tệp js của bạn sẽ chỉ được tải lại một lần.
Hy vọng điều đó sẽ giúp ai đó
function reloadPage() {
var currentDocumentTimestamp = new Date(performance.timing.domLoading).getTime();
var now = Date.now();
var tenSec = 10 * 1000;
var plusTenSec = currentDocumentTimestamp + tenSec;
if (now > plusTenSec) {
location.reload();
}
}
reloadPage();