Tôi đã viết hàm này để kiểm tra cả hai phương thức sử dụng cũ window.performance.navigation
và mới performance.getEntriesByType("navigation")
cùng một lúc:
function navigationType(){
var result;
var p;
if (window.performance.navigation) {
result=window.performance.navigation;
if (result==255){result=4} // 4 is my invention!
}
if (window.performance.getEntriesByType("navigation")){
p=window.performance.getEntriesByType("navigation")[0].type;
if (p=='navigate'){result=0}
if (p=='reload'){result=1}
if (p=='back_forward'){result=2}
if (p=='prerender'){result=3} //3 is my invention!
}
return result;
}
Mô tả kết quả:
0: nhấp vào liên kết, Nhập URL vào thanh địa chỉ của trình duyệt, gửi biểu mẫu, Nhấp vào dấu trang, khởi tạo thông qua thao tác tập lệnh.
1: Nhấp vào nút Tải lại hoặc sử dụngLocation.reload()
2: Làm việc với lịch sử lông mày (Bakc và Forward).
3: hoạt động prerendering như<link rel="prerender" href="https://stackoverflow.com//example.com/next-page.html">
4: bất kỳ phương pháp nào khác.