Tôi sẽ đưa ra một vài giả định để trình bày cách này không hoàn toàn phụ thuộc vào javascript:
- Bạn lưu ý trong các nhận xét cho câu trả lời khác rằng đây là ứng dụng ASP.NET. Tôi sẽ giả định rằng bạn chỉ quan tâm đến nút quay lại nơi nó đang được nhấn từ một trang khác trong ứng dụng ASP.NET của bạn.
- Bạn kiểm soát mã phía máy chủ được thực hiện trong mã ASP.NET phía sau cho cả trang được đề cập và cho (các) trang, nó sẽ cần phải "quay lại".
Nếu cả hai điều kiện này đều đúng thì bạn có thể sử dụng Session variable! Chỉ cần đặt trang hiện tại thành biến currPage được duy trì theo phiên trên tất cả các trang liên quan. Sau đó, khi trang đang tải, hãy kiểm tra và sử dụng nó để điều chỉnh cách hiển thị trực tiếp trang hoặc viết giá trị cho trường/đầu vào/div ẩn, javascript của bạn có thể đọc và sử dụng để phản ứng một cách thích hợp.
Nếu bạn sử dụng tuyến đường JS-read-and-execute, bạn sẽ muốn kiểm tra để đảm bảo các sự kiện được kích hoạt đúng trên tất cả các trình duyệt sau một nút tải-từ-lưng. Như đã đề cập trong the link from Rionmonster, đôi khi sự kiện onload có thể không kích hoạt sau nút quay lại. Nếu bạn thấy vấn đề này, thì hãy sử dụng các thủ thuật được đề cập ở đó để giải quyết vấn đề. Đây là loại giải pháp nên hoạt động cho bất kỳ ứng dụng web nào sử dụng mã phía máy chủ có khả năng tương tác với các biến Session (ví dụ: nó cũng sẽ hoạt động với PHP, Python và nhiều loại khác).
Lưu ý: Có khả năng điều này sẽ không hoàn toàn thanh lịch như âm thanh. Trong nhiều trường hợp, các trình duyệt có thể không thực sự kéo trang mới từ máy chủ sau khi nhấn nút quay lại. Nếu thử nghiệm cho thấy đây là một vấn đề, bạn có thể cần phải sử dụng một số kỹ thuật AJAX để điền thông tin mới vào JS sau khi nhấn nút quay lại.
Nguồn
2011-08-12 13:31:26
Đây là bài đăng tương tự bao gồm việc sử dụng jQuery và nút quay lại: http://stackoverflow.com/questions/158319/cross-browser-onload-event-and-the-back-button –