2012-11-16 17 views
6

Tôi đã thực hiện một phương pháp để hiển thị chỉ báo tải ở cuối trang khi liên kết được nhấp.Phương pháp phát hiện trang đến từ nút quay lại

Khi ai đó nhấn nút quay lại, nó không làm mới nội dung trang, do đó hiển thị vùng tải.

Có cách nào để phát hiện xem trang có đến từ chuyển hướng để kích hoạt phương pháp xóa chỉ báo tải không?

Kinda như vậy:

function cameFromeBackButton(){ 
    //hide loading indicator 
} 

HOẶC nó là một cách để ngăn chặn các nút quay lại và bắn một phương pháp thay thế? như vậy:

function backButtonClicked(){ 
    //do stuff instead of going back 
} 

EDIT: này là khá nhiều cách khu vực này đang được gọi là

$('.link').click(function(){ 
//make loading area 
$('container').append(loadingAreaString) 

//grab the href and goto page 
window.location.href = $(this).attr('href'); 

return false 
}) 
+0

Bạn có thể ngăn chặn phiên bản được lưu trong bộ nhớ cache của trang hiển thị hoặc bạn có muốn bản sao được lưu trong bộ nhớ cache hiển thị nhưng vẫn kích hoạt một số thứ nhất định không? Nếu vậy http://blog.55minutes.com/2011/10/how-to-defeat-the-browser-back-button-cache/ –

+0

Có vẻ như một giải pháp bên cắt phải không? Trong trường hợp của tôi tất cả điều này cần phải được phía khách hàng. Xin lỗi vì không chỉ định. –

+0

Chức năng cho thấy thiết bị tải trọng được gọi là gì? –

Trả lời

1

Bạn có thể chuyển từ máy chủ một số dấu hiệu và lưu nó trong cookie hoặc lưu trữ địa phương. Khi mã thông báo được lưu trữ khác với mã được nhúng trong trang - điều này có nghĩa là trang đã được tải từ máy chủ, nếu các giá trị bằng nhau - điều này có nghĩa là trang được phân phát từ bộ nhớ cache (hoặc từ nút quay lại).

+0

Đã cố gắng để làm điều đó nhưng nó không đọc lưu trữ khi tôi nhấn trở lại. –

+0

đây là câu trả lời về cách JS chạy sau nút quay lại http://stackoverflow.com/questions/2638292/after-travelling-back-in-firefox-history-javascript-wont-run –