2012-04-02 27 views
5

Tôi có một trang web, mà chuyển hướng đến url đích mong muốn sử dụng:tránh một trang được thêm vào lịch sử trình duyệt khi chuyển hướng sử dụng một thẻ http-equiv meta

<meta http-equiv="refresh" content="0; URL=$destination.url" /> 

Tôi muốn tránh những trang đầu tiên đang ở trong lịch sử trình duyệt.

Đặc biệt, trong điện thoại di động (Android, iOS, v.v.) Tôi muốn nút quay lại bỏ qua trang chuyển hướng.

Trả lời

11

Hai tùy chọn của bạn là sử dụng chuyển hướng HTTP thực hoặc sử dụng location.replace của JavaScript.

Điều thứ nhất là tốt hơn, nhưng nếu có một số lý do bạn không thể làm điều đó, location.replace có thể làm việc như một sự thay thế:

document.location.replace(redirectURL) 

location.replace thực sự thay thế vị trí hiện tại trong lịch sử trình duyệt, vì vậy nút quay lại sẽ không quay trở lại trang chuyển hướng. Nếu bạn làm điều này, bạn cũng có thể muốn bao gồm một làm mới meta với thời gian chờ ngắn làm dự phòng nếu bạn mong đợi bất kỳ người dùng nào của bạn không có JavaScript.

+0

S3 với CloudFront ở phía trước làm cho chuyển hướng HTTP khá khó khăn. Nếu bạn có bất kỳ lời khuyên nào về cách thực hiện điều đó, vui lòng gửi nó cùng. – Costa

3

Bạn không thể.

Nếu bạn muốn chuyển hướng, hãy sử dụng chuyển hướng HTTP. <meta> chuyển hướng có nhiều lỗi và đây là một trong số đó.

+0

S3 với CloudFront ở phía trước làm cho chuyển hướng HTTP khá khó khăn. Nếu bạn có bất kỳ lời khuyên nào về cách thực hiện điều đó, vui lòng gửi nó cùng. – Costa

+0

@Costa - Nếu bạn có câu hỏi mới, sau đó [hỏi một câu hỏi mới] (http://stackoverflow.com/questions/ask). – Quentin

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