2012-04-02 10 views
5

Mam stronę internetową, która przekierowuje do żądanego miejsca docelowego adresu URL za pomocą:uniknąć strona dodawanych do historii przeglądarki, gdy przekierowanie za pomocą meta http-equiv tag

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

Chciałbym uniknąć pierwszą stronę będąc w historii przeglądarki.

W szczególności w telefonach komórkowych (Android, iOS itp.) Chciałbym, aby przycisk Wstecz pominął stronę przekierowującą.

Odpowiedz

11

Twoje dwie opcje to użycie prawdziwego przekierowania HTTP lub użycie JavaScript location.replace.

Pierwszy z nich jest lepszy, ale jeśli istnieje jakiś powód, dla którego nie można tego zrobić, location.replace może pracować jako alternatywę:

document.location.replace(redirectURL) 

location.replace faktycznie zastępuje bieżącą lokalizację w historii przeglądarki, więc przycisk wstecz nie wróci do strony przekierowania. Jeśli to zrobisz, możesz również włączyć odświeżanie meta z krótkim czasem oczekiwania jako rezerwowym, jeśli spodziewasz się, że któryś z twoich użytkowników nie ma JavaScript.

+0

S3 z CloudFront z przodu sprawia, że ​​przekierowania HTTP są dość trudne. Jeśli masz jakieś wskazówki, jak to zrobić, proszę zgłoś to. – Costa

3

Nie możesz.

Jeśli chcesz przekierować, użyj przekierowania HTTP. <meta> Przekierowania mają wiele wad i jest to jedna z nich.

+0

S3 z CloudFront z przodu sprawia, że ​​przekierowania HTTP są dość trudne. Jeśli masz jakieś wskazówki, jak to zrobić, proszę zgłoś to. – Costa

+0

@Costa - Jeśli masz nowe pytanie, a następnie [zadaj nowe pytanie] (http://stackoverflow.com/questions/ask). – Quentin

Powiązane problemy