Jak przekierować na inną stronę internetową?

Odpowiedzi na to pytanie są wysiłkiem Społeczności. Edytuj istniejące odpowiedzi, aby poprawić ten post. Obecnie nie przyjmuje nowych odpowiedzi ani interakcji.

Jak mogę przekierować użytkownika z jednej strony na drugą za pomocą jQuery czy czysty JavaScript?

Author: Peter Mortensen, 2009-02-02

30 answers

Nie można po prostu przekierować używając jQuery

JQuery nie jest konieczne, a window.location.replace(...) najlepiej będzie symulować przekierowanie HTTP.

window.location.replace(...) jest lepsze niż użycie window.location.href, ponieważ replace() nie zachowuje strony źródłowej w historii sesji, co oznacza, że użytkownik nie utknie w niekończącym się fiasku przycisku Wstecz.

Jeśli chcesz symulować kogoś klikającego w link, użyj location.href

Jeśli chcesz symulować przekierowanie HTTP, użyj location.replace

Na przykład:

// similar behavior as an HTTP redirect
window.location.replace("http://stackoverflow.com");

// similar behavior as clicking on a link
window.location.href = "http://stackoverflow.com";
 15307
Author: Ryan McGeary,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-17 22:22:34

WARNING: ta odpowiedź została jedynie dostarczona jako możliwe rozwiązanie; jest to oczywiście , a nie najlepsze rozwiązanie, ponieważ wymaga jQuery. Zamiast tego preferuj czyste rozwiązanie JavaScript.

$(location).attr('href', 'http://stackoverflow.com')
 1730
Author: Boris Guéry,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-05-19 13:36:13

Standardowy" vanilla " JavaScript sposób na przekierowanie strony

window.location.href = 'newPage.html';

Lub prościej: (ponieważ window jest globalny)

location.href = 'newPage.html';

Jeśli jesteś tutaj, ponieważ tracisz HTTP_REFERER podczas przekierowywania, Czytaj dalej:

(w przeciwnym razie zignoruj tę ostatnią część)


Poniższa sekcja jest przeznaczona dla osób stosujących HTTP_REFERER jako jeden z wielu środków bezpieczeństwa (chociaż nie jest to świetny środek ochronny). Jeśli używasz Internet Explorer 8 lub niższy, zmienne te zostają utracone podczas korzystania z dowolnej formy przekierowania strony JavaScript (lokalizacja.href itp.).

Poniżej zaimplementujemy alternatywę dla IE8 & lower , aby nie stracić HTTP_REFERER. W przeciwnym razie możesz prawie zawsze po prostu użyć window.location.href.

Testowanie na HTTP_REFERER (wklejanie adresów URL, sesja itp.) może pomóc stwierdzić, czy wniosek jest uzasadniony. (Uwaga: istnieją również sposoby obejścia nie jest to jednak żaden problem, ponieważ nie jest to możliwe.]}


Proste rozwiązanie do testowania między przeglądarkami (powrót do okna.miejsce.href dla Internet Explorer 9+ i wszystkich innych przeglądarek)

Użycie: redirect('anotherpage.aspx');

function redirect (url) {
    var ua        = navigator.userAgent.toLowerCase(),
        isIE      = ua.indexOf('msie') !== -1,
        version   = parseInt(ua.substr(4, 2), 10);

    // Internet Explorer 8 and lower
    if (isIE && version < 9) {
        var link = document.createElement('a');
        link.href = url;
        document.body.appendChild(link);
        link.click();
    }

    // All other browsers can use the standard window.location.href (they don't lose HTTP_REFERER like Internet Explorer 8 & lower does)
    else { 
        window.location.href = url; 
    }
}

 733
Author: Mark Pieszak - Trilon.io,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-20 09:12:55

Można to zrobić na wiele sposobów.

// window.location
window.location.replace('http://www.example.com')
window.location.assign('http://www.example.com')
window.location.href = 'http://www.example.com'
document.location.href = '/path'

// window.history
window.history.back()
window.history.go(-1)

// window.navigate; ONLY for old versions of Internet Explorer
window.navigate('top.jsp')


// Probably no bueno
self.location = 'http://www.example.com';
top.location = 'http://www.example.com';

// jQuery
$(location).attr('href','http://www.example.com')
$(window).attr('location','http://www.example.com')
$(location).prop('href', 'http://www.example.com')
 449
Author: Govind Singh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-01-16 10:28:35

To działa dla każdej przeglądarki:

window.location.href = 'your_url';
 343
Author: Fred,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-04 20:30:50

Pomogłoby, gdybyś był trochę bardziej opisowy w tym, co próbujesz zrobić. Jeśli próbujesz wygenerować dane paged, istnieje kilka opcji, jak to zrobić. Możesz wygenerować osobne linki dla każdej strony, do której chcesz być w stanie dostać się bezpośrednio.

<a href='/path-to-page?page=1' class='pager-link'>1</a>
<a href='/path-to-page?page=2' class='pager-link'>2</a>
<span class='pager-link current-page'>3</a>
...

Zauważ, że bieżąca strona w przykładzie jest traktowana inaczej w kodzie i za pomocą CSS.

Jeśli chcesz, aby dane paged były zmieniane przez AJAX, to właśnie tutaj pojawi się jQuery. Co byś zrobił to dodaj obsługę kliknięć do każdego znacznika zakotwiczenia odpowiadającego innej stronie. Ten program obsługi kliknięć wywoła jakiś kod jQuery, który przechodzi i pobiera następną stronę przez AJAX i aktualizuje tabelę nowymi danymi. Poniższy przykład zakłada, że masz usługę internetową, która zwraca nowe dane strony.

$(document).ready( function() {
    $('a.pager-link').click( function() {
        var page = $(this).attr('href').split(/\?/)[1];
        $.ajax({
            type: 'POST',
            url: '/path-to-service',
            data: page,
            success: function(content) {
               $('#myTable').html(content);  // replace
            }
        });
        return false; // to stop link
    });
});
 305
Author: tvanfosson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-02-02 13:18:06

Uważam również, że {[1] } jest najlepszym sposobem, ale jeśli chcesz powiadomić Wyszukiwarki o przekierowaniu (nie analizują kodu JavaScript, aby zobaczyć przekierowanie), powinieneś dodać meta tag rel="canonical" do swojej witryny.

Dodanie sekcji noscript z meta tagiem odświeżania HTML jest również dobrym rozwiązaniem. Sugeruję, aby użyć tego JavaScript redirection tool do tworzenia przekierowań. Posiada również obsługę przeglądarki Internet Explorer, aby przekazać referrer HTTP.

Próbka kod bez opóźnienia wygląda tak:

<!-- Place this snippet right after opening the head tag to make it work properly -->

<!-- This code is licensed under GNU GPL v3 -->
<!-- You are allowed to freely copy, distribute and use this code, but removing author credit is strictly prohibited -->
<!-- Generated by http://insider.zone/tools/client-side-url-redirect-generator/ -->

<!-- REDIRECTING STARTS -->
<link rel="canonical" href="https://yourdomain.com/"/>
<noscript>
    <meta http-equiv="refresh" content="0;URL=https://yourdomain.com/">
</noscript>
<!--[if lt IE 9]><script type="text/javascript">var IE_fix=true;</script><![endif]-->
<script type="text/javascript">
    var url = "https://yourdomain.com/";
    if(typeof IE_fix != "undefined") // IE8 and lower fix to pass the http referer
    {
        document.write("redirecting..."); // Don't remove this line or appendChild() will fail because it is called before document.onload to make the redirect as fast as possible. Nobody will see this text, it is only a tech fix.
        var referLink = document.createElement("a");
        referLink.href = url;
        document.body.appendChild(referLink);
        referLink.click();
    }
    else { window.location.replace(url); } // All other browsers
</script>
<!-- Credit goes to http://insider.zone/ -->
<!-- REDIRECTING ENDS -->
 259
Author: Patartics Milán,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-18 15:42:18

Ale jeśli ktoś chce przekierować z powrotem do strony głównej, może użyć poniższego fragmentu.

window.location = window.location.host

Byłoby pomocne, jeśli masz trzy różne środowiska, takie jak rozwój, inscenizacja i produkcja.

Możesz przeglądać to okno lub okno.obiekt lokalizacji poprzez umieszczenie tych słów w konsoli Chrome lub konsoli Firebug .

 234
Author: Nadeem Yasin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-21 20:07:34

JavaScript oferuje wiele metod pobierania i zmiany bieżącego adresu URL, który jest wyświetlany w pasku adresu przeglądarki. Wszystkie te metody wykorzystują obiekt Location, który jest właściwością obiektu Window. Możesz utworzyć nowy obiekt lokalizacji, który ma aktualny adres URL w następujący sposób..

var currentLocation = window.location;

Podstawowa struktura adresu URL

<protocol>//<hostname>:<port>/<pathname><search><hash>

Tutaj wpisz opis obrazka

  1. Protocol -- Określa nazwę protokołu używanego do uzyskiwania dostępu do zasobu w Internecie. (HTTP (bez SSL) lub HTTPS (z SSL))

  2. Hostname -- Host name określa hosta, który jest właścicielem zasobu. Na przykład, www.stackoverflow.com. serwer świadczy usługi używając nazwy hosta.

  3. Port -- numer portu używany do rozpoznawania określonego procesu, do którego ma zostać przesłana wiadomość internetowa lub inna wiadomość sieciowa, gdy dotrze do serwera.

  4. Pathname -- ścieżka podaje informacje o konkretnym zasobie w hoście, który klient sieci Web chce wejść. Na przykład, stackoverflow.com/index.html.

  5. Query -- ciąg zapytania podąża za komponentem path i dostarcza ciąg informacji, które zasób może wykorzystać do jakiegoś celu (na przykład jako parametry wyszukiwania lub jako dane do przetworzenia).

  6. Hash -- część kotwicy adresu URL zawiera znak skrótu (#).

Dzięki tym właściwościom obiektu lokalizacji możesz uzyskać dostęp do wszystkich tych adresów URL komponenty

  1. hash - ustawia lub zwraca zakotwiczoną część adresu URL.
  2. host - Zestawy lub zwraca nazwę hosta i port adresu URL.
  3. hostname - ustawia lub zwraca nazwę hosta adresu URL.
  4. href - ustawia lub zwraca cały URL.
  5. pathname - ustawia lub zwraca nazwę ścieżki URL.
  6. port - ustawia lub zwraca numer portu, którego serwer używa dla adresu URL.
  7. protocol - ustawia lub zwraca protokół URL.
  8. search - Zestawy lub zwraca część zapytania adresu URL

Teraz, jeśli chcesz zmienić stronę lub przekierować użytkownika na inną stronę, możesz użyć właściwości href obiektu Location, takiej jak ta

Można użyć właściwości href obiektu Location.

window.location.href = "http://www.stackoverflow.com";

Obiekt Location posiada również te trzy metody

  1. assign () -- Wczytuje nowy dokument.
  2. reload () -- przeładowuje bieżący dokument.
  3. replace () -- zamienia bieżący dokument na nowy

Możesz użyć metody assign () i replace również do przekierowania do innych stron, takich jak te

location.assign("http://www.stackoverflow.com");

location.replace("http://www.stackoverflow.com");

czym różnią się assign () i replace () -- różnica między metodą replace () a metodą assign() polega na tym, że replace () usuwa z dokumentu adres URL bieżącego dokumentu historia, oznacza, że nie można użyć przycisku "Wstecz", aby przejść z powrotem do oryginalnego dokumentu. Więc użyj metody assign (), jeśli chcesz załadować nowy dokument, IWant dać opcję, aby przejść z powrotem do oryginalnego dokumentu.

Możesz zmienić właściwość obiektu location href używając jQuery również w ten sposób

$(location).attr('href',url);

I dlatego możesz przekierować użytkownika na inny adres url.

 219
Author: Nikhil Agrawal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-24 09:52:54

Zasadniczo jQuery jest tylko JavaScript framework i do wykonywania niektórych rzeczy, takich jak redirection w tym przypadku, możesz po prostu użyć czystego JavaScript, więc w tym przypadku masz 3 opcje za pomocą vanilla JavaScript:

1) Użycie location replacespowoduje zastąpienie bieżącej historii strony, co oznacza, że nie można użyć przycisku back, aby wrócić do oryginalnej strony.

window.location.replace("http://stackoverflow.com");

2) Using location assign , to zachowa dla Ciebie historię i za pomocą przycisku Wstecz możesz wrócić do oryginalnej strony:

window.location.assign("http://stackoverflow.com");

3) zalecam użycie jednego z tych poprzednich sposobów, ale może to być trzecia opcja przy użyciu czystego JavaScript:

window.location.href="http://stackoverflow.com";

Możesz również napisać funkcję w jQuery, aby ją obsłużyć, ale nie jest to zalecane, ponieważ jest to tylko jedna linia czysta funkcja JavaScript, możesz również użyć wszystkich powyższych funkcji bez okna, jeśli jesteś już w zakresie okna, na przykład window.location.replace("http://stackoverflow.com"); może być location.replace("http://stackoverflow.com");

Również pokazuję je wszystkie na poniższym obrazku:

miejsce.zastąp lokalizację.Przypisz

 211
Author: Alireza,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-01-18 23:52:41

Powinien być w stanie ustawić za pomocą window.location.

Przykład:

window.location = "https://stackoverflow.com/";

Oto ostatni post w temacie: jak przekierować na inną stronę?

 198
Author: Newse,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-05-19 13:36:47

Zanim zacznę, jQuery jest biblioteką JavaScript używaną do manipulacji DOM. Więc nie powinieneś używać jQuery do przekierowania strony.

Cytat z Jquery.com:

Podczas gdy jQuery może działać bez większych problemów w starszych wersjach przeglądarki, nie testujemy w nich aktywnie jQuery i generalnie nie naprawiamy błędów to może się w nich pojawić.

Znaleziono go tutaj: https://jquery.com/browser-support/

Więc jQuery nie jest rozwiązanie end-all I be-all zapewniające kompatybilność wsteczną.

Poniższe rozwiązanie wykorzystujące surowy JavaScript działa we wszystkich przeglądarkach i od dawna jest standardem, więc nie potrzebujesz żadnych bibliotek do obsługi przeglądarek.

Ta strona przekieruje do Google po 3000 milisekund

<!DOCTYPE html>
<html>
    <head>
        <title>example</title>
    </head>
    <body>
        <p>You will be redirected to google shortly.</p>
        <script>
            setTimeout(function(){
                window.location.href="http://www.google.com"; // The URL that will be redirected too.
            }, 3000); // The bigger the number the longer the delay.
        </script>
    </body>
</html>

Różne opcje są następujące:

window.location.href="url"; // Simulates normal navigation to a new page
window.location.replace("url"); // Removes current URL from history and replaces it with a new URL
window.location.assign("url"); // Adds new URL to the history stack and redirects to the new URL

window.history.back(); // Simulates a back button click
window.history.go(-1); // Simulates a back button click
window.history.back(-1); // Simulates a back button click
window.navigate("page.html"); // Same as window.location="url"

Podczas używania replace, przycisk back nie powróci do strony przekierowania, tak jakby nigdy nie był w historia. Jeśli chcesz, aby użytkownik mógł wrócić do strony przekierowania, użyj window.location.href lub window.location.assign. Jeśli używasz opcji, która pozwala użytkownikowi wrócić do strony przekierowania, pamiętaj, że po wejściu na stronę przekierowania przekieruje Cię z powrotem. Weź to pod uwagę przy wyborze opcji przekierowania. W warunkach, w których strona jest przekierowywana tylko po wykonaniu akcji przez użytkownika, posiadanie strony w historii przycisku Wstecz będzie w porządku. Ale jeśli strona automatycznie przekierowuje następnie powinieneś użyć replace, aby użytkownik mógł użyć przycisku Wstecz bez wymuszania powrotu do strony, którą wysyła przekierowanie.

Możesz również użyć metadanych, aby uruchomić przekierowanie strony w następujący sposób.

Meta Refresh

<meta http-equiv="refresh" content="0;url=http://evil.com/" />

Meta Lokalizacja

<meta http-equiv="location" content="URL=http://evil.com" />

Przejęcie bazy

<base href="http://evil.com/" />

Wiele innych metod przekierowania niczego nie podejrzewającego klienta na stronę, której może nie chcieć znaleźć można znaleźć na tej stronie (żadna z nich nie jest zależna od jQuery):

Https://code.google.com/p/html5security/wiki/RedirectionMethods

Chciałbym również podkreślić, że ludzie nie lubią być losowo przekierowywani. Przekierowywać ludzi tylko wtedy, gdy jest to absolutnie konieczne. Jeśli zaczniesz przekierowywać osoby losowo, nigdy więcej nie wejdą do twojej witryny.

Następny akapit jest hipotetyczny:

Możesz również zostać zgłoszony jako złośliwa strona. Jeśli tak się stanie, gdy ludzie klikną link do twojej witryny przeglądarka użytkowników może ostrzec ich, że Twoja witryna jest złośliwa. Może się również zdarzyć, że wyszukiwarki mogą zacząć spadać, jeśli ludzie zgłaszają złe wrażenia na twojej stronie.

Zapoznaj się z wytycznymi Google dla webmasterów dotyczącymi przekierowań: https://support.google.com/webmasters/answer/2721217?hl=en&ref_topic=6001971

Oto zabawna mała strona, która wyrzuca cię z tej strony.

<!DOCTYPE html>
<html>
    <head>
        <title>Go Away</title>
    </head>
    <body>
        <h1>Go Away</h1>
        <script>
            setTimeout(function(){
                window.history.back();
            }, 3000);
        </script>
    </body>
</html>

Jeśli połączysz ze sobą dwa przykłady stron, będziesz miał infant pętli przekierowania, które zagwarantują, że użytkownik nigdy nie będzie chciał korzystać z witryny nigdy więcej.

 174
Author: Patrick W. McMahon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-05-19 13:38:37
var url = 'asdf.html';
window.location.href = url;
 169
Author: Ben Lee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-01 20:35:48

Możesz to zrobić bez jQuery jako:

window.location = "http://yourdomain.com";

A jeśli chcesz tylko jQuery to możesz to zrobić tak:

$jq(window).attr("location","http://yourdomain.com");
 148
Author: ScoRpion,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-29 06:13:56

To działa z jQuery:

$(window).attr("location", "http://google.fr");
 146
Author: xloadx,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-30 16:11:26

# przekierowanie strony HTML metodą jQuery / JavaScript

Wypróbuj przykładowy kod:

function YourJavaScriptFunction()
{
    var i = $('#login').val();
    if (i == 'login')
        window.location = "Login.php";
    else
        window.location = "Logout.php";
}

Jeśli chcesz podać pełny adres URL jako window.location = "www.google.co.in";.

 92
Author: Sakthi Karthik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-08-20 04:53:06

Oryginalne pytanie: "jak przekierować używając jQuery?", stąd odpowiedź implementuje jQuery > > Complimentary usage case.


Aby przekierować na stronę z JavaScript:

window.location.href = "/contact/";

Lub jeśli potrzebujesz opóźnienia:

setTimeout(function () {
  window.location.href = "/contact/";
}, 2000);   // Time in milliseconds

JQuery pozwala z łatwością wybierać elementy ze strony internetowej. Możesz znaleźć wszystko, co chcesz na stronie, a następnie użyć jQuery, aby dodać efekty specjalne, reagować na akcje użytkownika lub pokazywać i ukrywać zawartość wewnątrz lub na zewnątrz elementu wybrane. Wszystkie te zadania zaczynają się od wiedzy Jak wybrać element lub zdarzenie.

$('a,img').on('click',function(e){
  e.preventDefault();
  $(this).animate({
    opacity: 0 //Put some CSS animation here
  }, 500);
  setTimeout(function(){
    // OK, finished jQuery staff, let's go redirect
    window.location.href = "/contact/";
  },500);
});

Wyobraź sobie, że ktoś napisał skrypt / wtyczkę z 10000 liniami kodu. Dzięki jQuery możesz połączyć się z tym kodem za pomocą jednej lub dwóch linii.

 86
Author: SergeDirect,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-09-24 16:17:05

Musisz umieścić ten wiersz w swoim kodzie:

$(location).attr("href","http://stackoverflow.com");

Jeśli nie masz jQuery, przejdź z JavaScript:

window.location.replace("http://stackoverflow.com");
window.location.href("http://stackoverflow.com");
 83
Author: Ashish Ratan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-28 05:20:33

Więc pytanie brzmi, jak zrobić stronę przekierowującą, a nie jak przekierować na stronę internetową?

Musisz tylko użyć JavaScript do tego. Oto mały kod, który utworzy dynamiczną stronę przekierowania.

<script>
    var url = window.location.search.split('url=')[1]; // Get the URL after ?url=
    if( url ) window.location.replace(url);
</script>

Więc powiedzmy, że wystarczy umieścić ten fragment w pliku redirect/index.html na swojej stronie internetowej można go używać w ten sposób.

http://www.mywebsite.com/redirect?url=http://stackoverflow.com

I jeśli wejdziesz na ten link, automatycznie przekieruje Cię do stackoverflow.com .

Link do Dokumentacja

I tak tworzysz prostą stronę przekierowującą z JavaScript

Edit:

Jest jeszcze jedna rzecz do odnotowania. Dodałem window.location.replace w moim kodzie, ponieważ myślę, że pasuje do strony przekierowania, ale musisz wiedzieć, że podczas korzystania z window.location.replace i zostaniesz przekierowany, gdy naciśniesz przycisk Wstecz w przeglądarce, to nie wróci do strony przekierowania, a wróci do strony przed nią, spójrz na ten mały obrazek. demo.

Przykład:

Proces: store home => przekierowanie strony do google => google

Kiedy w google: google => przycisk Wstecz w przeglądarce => store home

Więc, jeśli to odpowiada twoim potrzebom, wszystko powinno być w porządku. Jeśli chcesz włączyć stronę przekierowania do historii przeglądarki, zastąp tę stronę
if( url ) window.location.replace(url);

Z

if( url ) window.location.href = url;
 81
Author: iConnor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-20 09:12:55

W funkcji kliknięcia wystarczy dodać:

window.location.href = "The URL where you want to redirect";
$('#id').click(function(){
    window.location.href = "http://www.google.com";
});
 76
Author: Swaprks,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-26 10:44:31

Spróbuj tego:

location.assign("http://www.google.com");

Fragment kodu przykładu .

 64
Author: tilak,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-02 04:29:32

JQuery nie jest potrzebne. Możesz to zrobić:

window.open("URL","_self","","")
To takie proste!

Najlepszym sposobem zainicjowania żądania HTTP jest document.loacation.href.replace('URL').

 60
Author: MayorMonty,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-03 21:23:23

Najpierw napisz poprawnie. Chcesz nawigować w aplikacji dla innego łącza z aplikacji dla innego łącza. Oto kod:

window.location.href = "http://www.google.com";

A jeśli chcesz poruszać się po stronach w aplikacji, to mam również kod, jeśli chcesz.

 54
Author: Anup,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-03 21:20:11

Możesz przekierować w jQuery tak:

$(location).attr('href', 'http://yourPage.com/');
 54
Author: Azam Alvi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-03 05:01:56

Using JavaScript:

Metoda 1:

window.location.href="http://google.com";

Metoda 2:

window.location.replace("http://google.com");

Using jQuery:

Metoda 1: $(Lokalizacja)

$(location).attr('href', 'http://google.com');

Metoda 2: Funkcja Wielokrotnego Użytku

jQuery.fn.redirectTo = function(url){
    window.location.href = url;
}

jQuery(window).redirectTo("http://google.com");
 51
Author: Kalpesh Panchal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-09-25 17:32:07

W JavaScript i jQuery możemy użyć następującego kodu, aby przekierować jedną stronę na inną stronę:

window.location.href="http://google.com";
window.location.replace("page1.html");
 47
Author: Peter Mortensen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-03 21:22:34

ECMAScript 6 + jQuery, 85 bajtów

$({jQueryCode:(url)=>location.replace(url)}).attr("jQueryCode")("http://example.com")
Proszę, nie zabijaj mnie, to żart. To żart. To jakiś żart.

To "dostarczyło odpowiedzi na pytanie", w tym sensie, że prosiło o rozwiązanie "używając jQuery", co w tym przypadku wiąże się z wymuszeniem go w jakiś sposób do równania.

Ferrybig najwyraźniej potrzebuje wyjaśnienia dowcipu (nadal żartuje, jestem pewien, że są ograniczone opcje na formularzu recenzji), więc bez zbędnych ceregieli: {]}

Inne odpowiedzi to używanie jQuery attr() na obiektach location lub window niepotrzebnie.

Ta odpowiedź również ją nadużywa, ale w bardziej śmieszny sposób. Zamiast używać go do ustawiania lokalizacji, używa attr() do pobierania funkcji, która ustawia lokalizację.

Funkcja nazywa się jQueryCode, mimo że nie ma w niej nic jQuery, a wywołanie funkcji somethingCode jest po prostu straszne, zwłaszcza gdy coś nie jest nawet językiem.

"85 bajtów" jest odniesieniem do kodu Golf. Gra w golfa jest oczywiście nie jest to coś, co powinieneś robić poza code golfem, a ponadto ta odpowiedź nie jest w rzeczywistości golfem.

W zasadzie, marudzić.

 47
Author: 1j01,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-30 16:27:41

Javascript:

window.location.href='www.your_url.com';
window.top.location.href='www.your_url.com';
window.location.replace('www.your_url.com');

Jquery:

var url='www.your_url.com';
$(location).attr('href',url);
$(location).prop('href',url);//instead of location you can use window
 47
Author: lalithkumar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-04 12:12:47

Oto przekierowanie z opóźnieniem czasowym. Możesz ustawić czas opóźnienia na dowolny:

<!doctype html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Your Document Title</title>
    <script type="text/javascript">
        function delayer(delay) {
            onLoad = setTimeout('window.location.href = "http://www.google.com/"', delay);
        }
    </script>
</head>

<body>
    <script>
        delayer(8000)
    </script>
    <div>You will be redirected in 8 seconds!</div>
</body>

</html>
 43
Author: Stefan Gruenwald,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-23 06:26:07

Są trzy główne sposoby, aby to zrobić,

window.location.href='blaah.com';
window.location.assign('blaah.com');

I...

window.location.replace('blaah.com');

Ostatni jest najlepszy, dla tradycyjnego przekierowania, ponieważ nie zapisze strony, na którą byłeś przed przekierowaniem w historii wyszukiwania. Jeśli jednak chcesz otworzyć kartę za pomocą JavaScript, możesz użyć dowolnego z powyższych.1

EDIT: prefiks window jest opcjonalny.

 40
Author: Ben,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-20 09:12:55