Không có cách tiếp cận qua trình duyệt để thực hiện điều này. Document.Referrer có thể được thiết lập ngay cả khi không có mục lịch sử nào tồn tại.
Tôi nghĩ ra "hack" sau đây. Nó sử dụng sự kiện onbeforeunload để phát hiện xem trình duyệt có bắt đầu rời khỏi trang hay không. Nếu nó không trong một khoảng thời gian nhất định nó sẽ chỉ chuyển hướng đến dự phòng.
window.goBack = function goBack(fallback){
var useFallback = true;
window.onbeforeunload = function(){
useFallback = false;
}
window.history.back();
setTimeout(function(){
if (useFallback){ window.location.href = fallback; }
}, 100);
}
Bạn có thể gọi hàm này bằng cách sử dụng goBack("fallback.example.org")
.
Một trong các trường hợp sử dụng là bạn có thể muốn thêm nút quay lại vào bất kỳ trang nào và cũng muốn đảm bảo rằng nút quay lại này hoạt động ngay cả khi người dùng truy cập trực tiếp trang này (ví dụ: theo dấu trang, liên kết trực tiếp, v.v ...).
Vì vậy, hoặc nó thực hiện một history.back() hoặc nếu không có mục nhập, nó sẽ chuyển hướng đến một dự phòng.
Nguồn
2016-09-06 10:07:33
Bản sao có thể có của [Cách kiểm tra xem người dùng có thể quay lại lịch sử trình duyệt hay không] (http://stackoverflow.com/questions/3588315/how-to-check-if-the-user-can-go -back-in-browser-history-or-not) – bummi