Jestem po prostu ciekawy, dlaczego miałbyś kiedykolwiek chcieć to zrobić? Za każdym razem, gdy odwiedzałem taką stronę, wolałbym zostać skierowany w 0 sekund.
allesklar
@allesklar przepraszam za spóźnioną odpowiedź. Jestem w trakcie tworzenia witryny i chciałem sprawdzić, czy jest łatwiejsze przejście z edytora kodu do przeglądarki internetowej bez konieczności odświeżania za każdym razem.
kodedude
Ten generator przekierowań JS pomoże Ci łatwo utworzyć fragmenty opóźnionych przekierowań. Obsługuje noscript i seo, a także ma poprawkę do IE 8 i niższą, aby przejść przez referer http!
Patartics Milán
1
@allesklar jeden przykład użycia tego. Jeśli zmienisz domenę i chcesz, aby wszyscy zostali przekierowani do nowej domeny w pierwszym miesiącu (ale powiadomienie ich, że stara domena zostanie usunięta po mniej więcej miesiącu). Ponieważ nawet jeśli wyślesz i wyślesz e-mail, zawsze znajdzie się ktoś, kto zapomni i przejdzie do starej domeny.
<html><head><metahttp-equiv="refresh"content="3;url=http://www.somewhere.com/"/></head><body><h1>Redirecting in 3 seconds...</h1></body></html>
Zwróć uwagę, że w metarefreshdzisiejszych czasach używanie programu jest przestarzałe i marszczone, ale czasami jest to jedyna realna opcja (na przykład, jeśli nie możesz generować nagłówków przekierowań HTTP po stronie serwera i / lub musisz obsługiwać klientów innych niż JavaScript itp. ).
Jeśli chcesz mieć większą kontrolę, możesz użyć javascript zamiast używać metatagu. Pozwoliłoby to na uzyskanie pewnego rodzaju wizualizacji, np. Odliczania.
Oto bardzo podstawowe podejście przy użyciu setTimeout()
<html><body><p>You will be redirected in 3 seconds</p><script>var timer = setTimeout(function(){
window.location='http://example.com'},3000);</script></body></html>
Byłby to właściwy sposób, jeśli chcesz, aby tekst przed przekierowaniem dynamicznie odliczał do 0. Użyj 1-sekundowego licznika czasu, w którym funkcja licznika czasu aktualizuje tekst HTML, a następnie uruchamia nowy 1-sekundowy licznik czasu, aż upłyną 3 sekundy, a następnie wykonaj przekierowanie.
Remy Lebeau
19
Oto kompletny (ale prosty) przykład przekierowania po X sekundach podczas aktualizowania licznika div:
To nie działa, dopóki nie otrzymuje location.href="https://example.com";zwindow.location='https://example.com'
NateH06
1
Może być lepiej window.location.replace("http://example.com");z powodów omówionych tutaj: stackoverflow.com/a/506004 Zmiana zapewniłaby tę odpowiedź bardziej ogólną.
Psyche
10
Najprostszym sposobem jest użycie metatagu HTML w następujący sposób:
Powyższy kod przekierowania HTML natychmiast przekieruje odwiedzających na inną stronę internetową. Treść = „3; można zmienić na liczbę sekund, przez jaką przeglądarka ma czekać przed przekierowaniem. 4, 5, 8, 10 lub 15 sekund itd.
<meta http-equiv="refresh" content="3;url=http://example.com/" />jest lepszą opcją, ponieważ jest prostsza i działa bez obsługi JavaScript.
Edward
masz rację, bracie ... ale to zależy od sytuacji ... czasami musimy przekierować na konkretne wydarzenie, ponieważ JS jest najlepszą opcją.
Sunny SM,
Rozumiem, co masz na myśli, „Sunny SM”. Chociaż metatagi powinny być używane prawie zawsze, mogą istnieć scenariusze, takie jak Twój, w których JavaScript byłby jedyną opcją.
Odpowiedzi:
źródło
Prawdopodobnie szukasz
meta
refresh
tagu :Zwróć uwagę, że w
meta
refresh
dzisiejszych czasach używanie programu jest przestarzałe i marszczone, ale czasami jest to jedyna realna opcja (na przykład, jeśli nie możesz generować nagłówków przekierowań HTTP po stronie serwera i / lub musisz obsługiwać klientów innych niż JavaScript itp. ).źródło
Jeśli chcesz mieć większą kontrolę, możesz użyć javascript zamiast używać metatagu. Pozwoliłoby to na uzyskanie pewnego rodzaju wizualizacji, np. Odliczania.
Oto bardzo podstawowe podejście przy użyciu
setTimeout()
źródło
Oto kompletny (ale prosty) przykład przekierowania po X sekundach podczas aktualizowania licznika div:
Początkowa zawartość elementu
counter
div to liczba sekund oczekiwania.źródło
location.href="https://example.com";
zwindow.location='https://example.com'
window.location.replace("http://example.com");
z powodów omówionych tutaj: stackoverflow.com/a/506004 Zmiana zapewniłaby tę odpowiedź bardziej ogólną.Najprostszym sposobem jest użycie metatagu HTML w następujący sposób:
Wikipedia
źródło
Umieść następujący kod przekierowania HTML między tagami i kodu HTML.
<meta HTTP-EQUIV="REFRESH" content="3; url=http://www.yourdomain.com/index.html">
Powyższy kod przekierowania HTML natychmiast przekieruje odwiedzających na inną stronę internetową. Treść = „3; można zmienić na liczbę sekund, przez jaką przeglądarka ma czekać przed przekierowaniem. 4, 5, 8, 10 lub 15 sekund itd.
źródło
Użyj tego prostego kodu javascript, aby przekierować stronę na inną stronę w określonym przedziale czasu ...
Dodaj ten kod do swojej strony internetowej, na którą chcesz przekierować:
źródło
<meta http-equiv="refresh" content="3;url=http://example.com/" />
jest lepszą opcją, ponieważ jest prostsza i działa bez obsługi JavaScript.