2013-04-11 36 views
7

Tôi dường như có vấn đề ngược lại với hầu hết người dùng SO. Tôi có một trang tĩnh thay đổi hiếm khi và tôi muốn trình duyệt không tải lại trang đó khi người dùng điều hướng trở lại trang đó một cách nhanh chóng. Tôi đã không thể tìm thấy bất kỳ danh sách đơn giản của các quy tắc chi tiết khi một trình duyệt tải lại trên điều hướng trở lại, và khi nó không.Ngăn trình duyệt tải lại trang khi người dùng truy cập Quay lại

Nếu nó tạo sự khác biệt, URL của tôi có chuỗi truy vấn và được phân phối bằng giao thức https://.

+0

Tại sao chỉ trên điều hướng trở lại? Điều gì xảy ra nếu người dùng tải trang này từ lịch sử và trang này không được cập nhật? Nó không nên được nạp lại là tốt. Mã trạng thái không sửa đổi HTTP 304 là những gì bạn cần: http://www.w3.org/Protocols/HTTP/HTRESP.html – user4035

+0

Đây chỉ là điều tôi ít quan tâm. Tôi OK chỉ giải quyết trường hợp điều hướng ngược lại, bởi vì nhiều người dùng nhấp vào một liên kết, sau đó quay lại nhanh chóng nếu họ không tìm thấy những gì họ cần. Việc tải thêm máy chủ tại thời điểm đó là vấn đề tôi muốn giải quyết. – levik

+0

Bạn đang sử dụng tập lệnh php và muốn gửi HTTP 304 chưa được sửa đổi? – user4035

Trả lời

10

Bạn không cần biết liệu nút quay lại đã được sử dụng chưa. Chỉ cần yêu cầu trình duyệt lưu vào bộ nhớ cache trang của bạn bằng cách sử dụng các tiêu đề kiểm soát bộ nhớ cache. Bạn sẽ thấy rất nhiều ví dụ từ Google - http cache control headers

Cụ thể, nhìn vào các thẻ meta:

<meta http-equiv="CACHE-CONTROL" content="..." /> 
<meta http-equiv="EXPIRES" content="..." /> 

Edit:

Dưới đây là một liên kết đến một trong những kết quả từ đó tìm kiếm trên Google . Tôi nghĩ rằng nó đưa ra một lời giải thích khá tốt về cách các tiêu đề này hoạt động như thế nào. Increasing Application Performance with HTTP Cache Headers

Với các tiêu đề này, bạn có thể chỉ định khoảng thời gian lưu vào bộ nhớ cache các trang của mình; 10 phút, 30 phút, giờ, ngày, v.v.

+0

Tôi đoán những gì tôi đang tìm kiếm là tài nguyên sẽ liệt kê các trình duyệt khác nhau tôn vinh các tiêu đề này trong các trường hợp khác nhau như thế nào. Ví dụ: tôi nhớ lại các URL có chuỗi truy vấn đang được xử lý khác với các chuỗi không có một số trình duyệt trong quá khứ. – levik

+0

Đó là lý do tôi đưa liên kết Google đó cho bạn. Có một lượng thông tin khổng lồ trên web về điều này. Tôi đã thêm một trong các tài nguyên từ tìm kiếm đó vào câu trả lời của tôi cho bạn. Nó giải thích điều này khá tốt và đưa ra các ví dụ. –

0

Bạn đã thử onpageshow sự kiện của thẻ body?

<script type="text/javascript"> 
    function caller() 
    { 
     return false; 
    } 
</script> 
</head> 

<body onpageshow="caller();"> 
</body> 

Hoạt động trên hầu hết các trường hợp.

Các vấn đề liên quan