it-swarm-eu.dev

Jak mohu přesměrovat na jinou webovou stránku?

Jak mohu přesměrovat uživatele z jedné stránky na druhou pomocí jQuery nebo čistého JavaScriptu?

7729
venkatachalam

Jedním z nich není přesměrování pomocí jQuery

jQuery není nutné a window.location.replace(...) bude nejlépe simulovat přesměrování HTTP.

window.location.replace(...) je lepší než použití window.location.href, protože replace() nezachovává původní stránku v historii relace, což znamená, že uživatel nebude uvíznout v nikdy nekončícím fiasku zadního tlačítka.

Pokud chcete simulovat někoho, kdo klikne na odkaz, použijtelocation.href

Pokud chcete simulovat přesměrování HTTP, použijtelocation.replace

Například:

// 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";
13935
Ryan McGeary

VAROVÁNÍ: Tato odpověď byla poskytnuta pouze jako možné řešení; to je samozřejmě ne nejlepší řešení, protože to vyžaduje jQuery. Místo toho dávejte přednost čistému JavaScriptu.

$(location).attr('href', 'http://stackoverflow.com')
1570
Boris Guéry

Standardní způsob, jak JavaScript přesměrovat na stránku:

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


Pokud jste zde, protože jste při přesměrování ztrácí HTTP_REFERER, pokračujte ve čtení:


Následující sekce je pro ty, kteří používají HTTP_REFERER jako jedno z mnoha bezpečných opatření (i když to není velké ochranné opatření). Pokud používáte Internet Explorer 8 nebo nižší, tyto proměnné se ztratí při použití jakékoli formy přesměrování stránky JavaScriptu (location.href atd.).

Níže budeme implementovat alternativu pro IE8 a nižší , takže neztratíme HTTP_REFERER. Jinak můžete téměř vždy použít window.location.href.

Testování proti HTTP_REFERER (vkládání adresy URL, relace atd.) Can by mělo být užitečné při oznamování, zda je požadavek oprávněný. ( Poznámka: existují i ​​způsoby, jak obejít tyto odkazy, jak je uvedeno v odkazu droopu v komentářích} _


Jednoduché řešení pro testování přes prohlížeč (záložní na window.location.href pro Internet Explorer 9+ a všechny ostatní prohlížeče)

Použití: 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; 
    }
}
579

Existuje mnoho způsobů, jak toho dosáhnout.

// 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')
392
Govind Singh

To funguje pro každý prohlížeč:

window.location.href = 'your_url';
302
Fred

To by pomohlo, kdybyste byl trochu popisnější v tom, co se snažíte dělat. Pokud se pokoušíte generovat stránkovaná data, existují některé možnosti, jak to provést. Můžete vytvořit samostatné odkazy pro každou stránku, ke které se chcete dostat přímo.

<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>
...

Všimněte si, že aktuální stránka v příkladu je zpracována odlišně v kódu as CSS.

Pokud chcete, aby se stránkovaná data změnila prostřednictvím AJAX, tak je to místo, kam by jQuery přišlo. Co byste udělali, je přidat obslužný program pro klepnutí do každé z kotevních značek odpovídající jiné stránce. Tento obslužný program pro klepnutí by vyvolal nějaký jQuery kód, který jde a vyvolá další stránku přes AJAX a aktualizuje tabulku novými daty. Níže uvedený příklad předpokládá, že máte webovou službu, která vrací data nové stránky.

$(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
    });
});
280
tvanfosson

Také si myslím, že location.replace(URL) je nejlepší způsob, ale pokud chcete informovat vyhledávače o vašem přesměrování (neanalyzují kód JavaScriptu, aby viděli přesměrování), měli byste přidat meta značku rel="canonical" na vaše webové stránky.

Dobrým řešením je také přidání sekce noscript s meta tagem HTML refresh meta. Doporučuji vám použít tento nástroj přesměrování JavaScriptu k vytvoření přesměrování. Má také podporu aplikace Internet Explorer předat odkazovač HTTP.

Vzorový kód bez prodlení vypadá takto:

<!-- 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 -->
237
Patartics Milán

Pokud však někdo chce přesměrovat zpět na domovskou stránku, může použít následující úryvek.

window.location = window.location.Host

Bylo by užitečné, pokud máte tři různá prostředí, jako je vývoj, inscenace a produkce.

Objekt tohoto okna nebo window.location můžete prozkoumat pouze vložením těchto slov do konzoly Chrome nebo pomocí konzoly Firebug '.

212
Nadeem Yasin

JavaScript vám poskytuje mnoho metod pro načtení a změnu aktuální adresy URL, která je zobrazena v adresním řádku prohlížeče. Všechny tyto metody používají objekt Location, což je vlastnost objektu Window. Můžete vytvořit nový objekt umístění, který má aktuální adresu URL následujícím způsobem.

var currentLocation = window.location;

Základní struktura URL

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

enter image description here

  1. Protokol - Určuje název protokolu, který bude použit pro přístup k prostředku na Internetu. (HTTP (bez SSL) nebo HTTPS (s SSL))

  2. hostname - Název hostitele určuje hostitele, který vlastní zdroj. Například www.stackoverflow.com. Server poskytuje služby pomocí názvu hostitele.

  3. port - Číslo portu, které se používá k rozpoznání konkrétního procesu, ke kterému má být internetová nebo jiná síťová zpráva předána při příchodu na server.

  4. pathname - Cesta poskytuje informace o konkrétním prostředku v rámci hostitele, ke kterému chce webový klient přistupovat. Například stackoverflow.com/index.html.

  5. query - Řetězec dotazu následuje komponentu cesty a poskytuje řetězec informací, které prostředek může použít pro určitý účel (například jako parametry pro vyhledávání nebo jako data, která mají být zpracována).

  6. hash - Kotevní část adresy URL obsahuje znak hash (#).

S těmito vlastnostmi objektu umístění můžete přistupovat ke všem těmto komponentám URL

  1. hash - Nastaví nebo vrátí kotevní část adresy URL.
  2. Host - Nastaví nebo vrátí název hostitele a port adresy URL.
  3. název_hostitele - Nastaví nebo vrátí název hostitele adresy URL.
  4. href - Nastaví nebo vrátí celou adresu URL.
  5. pathname - Nastaví nebo vrátí název cesty URL.
  6. port - Nastaví nebo vrátí číslo portu, který server používá pro adresu URL.
  7. protokol - Nastaví nebo vrátí protokol adresy URL.
  8. search - Nastaví nebo vrátí část dotazu URL

Chcete-li změnit stránku nebo přesměrovat uživatele na jinou stránku, můžete použít vlastnost href objektu Location.

Můžete použít vlastnost href objektu Location.

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

Místo Objekt také tyto tři metody

  1. attrib () - Načte nový dokument.
  2. reload () - Znovu načte aktuální dokument.
  3. replace () - Nahradí aktuální dokument novým

Můžete použít metody assign () a nahradit metody také k přesměrování na jiné stránky, jako jsou tyto

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

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

Jak se liší () a nahradit () - Rozdíl mezi metodou replace () a metodou assign () (), je to, že replace () odstraní adresu URL aktuálního znamená, že není možné použít tlačítko "zpět" pro návrat k původnímu dokumentu. Použijte metodu assign (), chcete-li načíst nový dokument a chcete dát možnost vrátit se k původnímu dokumentu.

Vlastnost object object href můžete změnit pomocí jQuery a to také

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

A proto můžete uživatele přesměrovat na jinou adresu URL.

199
Nikhil Agrawal

V podstatě jQuery je jen JavaScript framework a pro dělání některých věcí jako přesměrování v tomto případě stačí použít čistý JavaScript, takže v tomto případě mít 3 možnosti pomocí JavaScriptu Vanilla:

1) Použití location replace nahradí aktuální historii stránky, což znamená, že není možné použít tlačítko back pro návrat na původní stránku.

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

2) Pomocí umístění přiřadit bude tato historie zachována a pomocí tlačítka Zpět se můžete vrátit na původní stránku:

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

3) Doporučuji použít některý z předchozích způsobů, ale to by mohla být třetí možnost pomocí čistého JavaScriptu:

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

Můžete také napsat funkci v jQuery, aby se s ní zacházelo, ale nedoporučuje se, protože je to pouze jedna řádková funkce JavaScriptu, můžete také použít všechny výše uvedené funkce bez okna, pokud jste již v rozsahu okna, například window.location.replace("http://stackoverflow.com"); může být location.replace("http://stackoverflow.com");

Zobrazuji je všechny na obrázku níže:

 location.replace location.assign

188
Alireza

Mělo by být možné nastavit pomocí window.location.

Příklad:

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

Zde je minulý příspěvek na toto téma:

Jak mohu přesměrovat na jinou webovou stránku?

188
Newse

Než začnu, jQuery je knihovna JavaScriptu používaná pro manipulaci s DOM. Takže byste neměli používat jQuery pro přesměrování stránky.

Citace z Jquery.com:

Zatímco jQuery může běžet bez větších problémů ve starších verzích prohlížeče, neaktivujeme jQuery v nich a obecně neopravujeme chyby, které se v nich mohou objevit.

Bylo nalezeno zde: https://jquery.com/browser-support/

Takže jQuery není konečným řešením pro zpětnou kompatibilitu.

Následující řešení využívající surový JavaScript funguje ve všech prohlížečích a je již delší dobu standardní, takže nepotřebujete žádné knihovny pro podporu prohlížeče.

Tato stránka přesměruje naGooglepo 3000 milisekundách

<!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ůzné možnosti jsou následující:

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"

Pokud používáte náhradu, tlačítko Zpět se nevrátí zpět na stránku přesměrování, jako by to nikdy nebylo v historii. Pokud chcete, aby se uživatel mohl vrátit na stránku přesměrování, použijte window.location.href nebo window.location.assign. Pokud použijete možnost, která umožňuje uživateli vrátit se na stránku přesměrování, nezapomeňte, že když zadáte stránku přesměrování, přesměruje vás zpět. Tak to vezměte v úvahu při výběru možnosti pro přesměrování. Za podmínek, kdy je stránka pouze přesměrována, když uživatel provede akci, bude mít stránka v historii zpětného tlačítka v pořádku. Pokud se však stránka automaticky přesměruje, měli byste použít nahradit, aby uživatel mohl použít tlačítko zpět, aniž by se musel vrátit zpět na stránku přesměrování.

Metadata můžete také použít ke spuštění přesměrování stránky podle následujícího postupu.

Obnovení META

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

META Location

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

BASE únos

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

Na této stránce se nachází mnoho dalších metod, jak přesměrovat svého nic netušícího klienta na stránku, kterou možná nechtějí jít.

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

Chtěl bych také poukázat na to, že lidé nechtějí být náhodně přesměrováni. Přesměrujte lidi pouze tehdy, když je to naprosto nezbytné. Pokud začnete přesměrovat lidi náhodně, nikdy se na vaše stránky znovu nedostanou.

Další část je hypotetická:

Můžete se také hlásit jako škodlivý web. Pokud se to stane, když lidé kliknou na odkaz na vaše stránky, prohlížeč uživatelů může varovat, že vaše stránky jsou škodlivé. Co se také může stát, je, že vyhledávače mohou začít snižovat vaše hodnocení, pokud lidé na svých stránkách vykazují špatnou zkušenost.

Přečtěte si Pokyny pro webmastery Google týkající se přesměrování: https://support.google.com/webmasters/answer/2721217?hl=cs&ref_topic=6001971

Zde je zábavná malá stránka, která vás vykopne ze stránky.

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

Pokud zkombinujete příklady dvou stránek dohromady, měli byste mít k dispozici smyčku pro přesměrování dětí, která zaručí, že váš uživatel už nikdy nebude chtít vaše stránky používat.

158
var url = 'asdf.html';
window.location.href = url;
157
user188973

Můžete to udělat bez jQuery jako:

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

A pokud chcete pouze jQuery, můžete to udělat takto:

$jq(window).attr("location","http://yourdomain.com");
138
ScoRpion

To funguje s jQuery:

$(window).attr("location", "http://google.fr");
137
xloadx

# HTML Přesměrování stránky pomocí jQuery/JavaScript

Zkuste tento příklad kódu:

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

Chcete-li zadat úplnou adresu URL jakowindow.location = "www.google.co.in";.

84
Sakthi Karthik

Tento řádek musíte vložit do kódu:

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

Pokud nemáte jQuery, přejděte do JavaScriptu:

window.location.replace("http://stackoverflow.com");
window.location.href("http://stackoverflow.com");
77
Ashish Ratan

Otázkou tedy je, jak vytvořit stránku přesměrování a ne jak přesměrovat na webovou stránku?

Stačí k tomu použít JavaScript. Zde je nějaký malý kód, který vytvoří dynamickou stránku přesměrování.

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

Řekněme, že jste tento zlomek vložili do souboru redirect/index.html na svých webových stránkách, který můžete použít jako takový.

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

A pokud jdete na tento odkaz, automaticky vás přesměruje na stackoverflow.com .

Odkaz na dokumentaci

A tak uděláte Simplestránku s přesměrováním JavaScript

Upravit:

Je tu také jedna věc, kterou si musíme všimnout. Přidal jsem window.location.replace do mého kódu, protože si myslím, že to vyhovuje přesměrovací stránce, ale musíte vědět, že při použití window.location.replace a přesměrování, když stisknete tlačítko Zpět ve svém prohlížeči, bude ne se vrátil na stránku přesměrování a vrátí se na stránku před ní, podívejte se na tuto malou demo věc.

Příklad:

Proces: home home => přesměrovat stránku na google => google

Kdy na google: google => zpět tlačítko v prohlížeči => home home

Takže, pokud to vyhovuje vašim potřebám, pak by mělo být vše v pořádku. Pokud chcete zahrnout stránku přesměrování do historie prohlížeče, nahraďte tuto stránku

if( url ) window.location.replace(url);

s

if( url ) window.location.href = url;
75
iConnor

Na svou funkci kliknutí stačí přidat:

window.location.href = "The URL where you want to redirect";
$('#id').click(function(){
    window.location.href = "http://www.google.com";
});
70
Swaprks

***** ORIGINÁLNÍ OTÁZKA byla - "JAK SNÍŽIT POUŽITÍ JQUERY", HENCE ANSWER IMPLEMENTS JQUERY >> CASE COMPLIMENTARY POUŽITÍ *****

Chcete-li přesměrovat na stránku pomocí JavaScriptu:

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

Nebo pokud potřebujete zpoždění:

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

jQuery umožňuje snadno vybrat prvky z webové stránky. Na stránce můžete najít vše, co chcete, a pak použít jQuery pro přidání speciálních efektů, reakci na akce uživatele nebo zobrazení a skrytí obsahu uvnitř nebo mimo prvek, který jste vybrali. Všechny tyto úkoly začínají s vědomím jak vybrat prvek nebo událost .

     $('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);
     });

Představte si, že někdo napsal skript/plugin, který má 10000 řádků kódu ?! No, s jQuery se můžete k tomuto kódu připojit jen jedním řádkem nebo dvěma.

69
SergeDirect

Zkuste to:

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

Úryvek kódu příkladu .

58
tilak

jQuery není potřeba. Můžeš to udělat:

window.open("URL","_self","","")

Je to tak snadné!

Nejlepší způsob, jak iniciovat požadavek HTTP, je document.loacation.href.replace('URL').

54
MayorMonty

Nejprve zapište správně. Chcete-li navigovat v aplikaci pro jiný odkaz z aplikace pro jiný odkaz. Zde je kód:

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

A pokud chcete procházet stránky ve vaší aplikaci, mám také kód, pokud chcete.

51
Anup

Takto můžete přesměrovat v jQuery takto:

$(location).attr('href', 'http://yourPage.com/');
50
Azam Alvi

V JavaScriptu a jQuery můžeme pomocí následujícího kódu přesměrovat jednu stránku na jinou stránku:

window.location.href="http://google.com";
window.location.replace("page1.html");
43
user2496033

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
42
lalithkumar

ECMAScript 6 + jQuery, 85 bytů

$({jQueryCode:(url)=>location.replace(url)}).attr("jQueryCode")("http://example.com")

Prosím, nezabijte mě, tohle je vtip. Je to vtip. Tohle je vtip.

To "poskytlo odpověď na otázku" v tom smyslu, že požádalo o řešení "používající jQuery", což v tomto případě znamená nutit jej do rovnice nějakým způsobem.

Ferrybig zřejmě potřebuje vysvětlit vtip (stále žertuje, jsem si jistý, že ve formuláři recenze jsou omezené možnosti), takže bez dalších okolků:

Další odpovědi používají attr() jQuery na location nebo window objekty zbytečně.

Tato odpověď ji také zneužívá, ale více směšným způsobem. Namísto toho, aby bylo místo nastaveno, používá attr() k získání funkce, která nastavuje umístění.

Funkce je pojmenována jQueryCode, i když o ní není nic jQuery a volání funkce somethingCode je prostě hrozné, zvláště když něco není ani jazyk.

"85 bytů" je odkaz na kód Golf. Golf samozřejmě není něco, co byste měli dělat mimo kód golf, a navíc tato odpověď není jasně golf.

V podstatě se krčí.

42
1j01

Zde je přesměrování časového zpoždění. Čas zpoždění můžete nastavit podle potřeby:

<!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>
39
Stefan Gruenwald

Existují tři hlavní způsoby, jak toho dosáhnout,

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

a...

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

Poslední z nich je nejlepší, pro tradiční přesměrování, protože neuloží stránku, na kterou jste šli, před přesměrováním do historie vyhledávání. Pokud však chcete otevřít kartu s JavaScriptem, můžete použít libovolné z výše uvedených . 1

EDIT: Předpona window je volitelná.

36
Ben

Musel jsem tuto absurditu aktualizovat o další novější metodu jQuery:

var url = 'http://www.fiftywaystoleaveyourlocation.com';
$(location).prop('href', url);
36
Epiphany

Napište níže uvedený kód za sekci PHP, HTML nebo jQuery. Pokud se nacházíte v části PHP nebo HTML, použijte značku <script>.

location.href = "http://google.com"
35
Bidyut

jQuery kód pro přesměrování stránky nebo URL

První cesta

Zde je kód jQuery pro přesměrování stránky. Vzhledem k tomu, že jsem tento kód vložil do funkce $ (document) .ready (), provede se ihned po načtení stránky.

var url = "http://stackoverflow.com";
$(location).attr('href',url);

Můžete dokonce předat URL přímo na metodu attr () namísto použití proměnné.

Druhá cesta

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

Můžete také kódovat takto (oba jsou stejné interně):

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

Pokud jste zvědaví na rozdíl mezi window.location a window.location.href, pak vidíte, že druhá vlastnost nastavuje vlastnost href explicitně, zatímco ta první implicitně. Protože window.location vrací objekt, který ve výchozím nastavení nastavuje jeho vlastnost .href.

Třetí cesta

Existuje jiný způsob, jak přesměrovat stránku pomocí JavaScriptu, replace() metoda window.location objektu. Metodu replace() můžete předat novou adresu URL a bude simulovat přesměrování HTTP. Mimochodem, pamatujte, že metoda window.location.replace() nevkládá původní stránku do historie relací, což může ovlivnit chování tlačítka Zpět. Někdy je to to, co chcete, takže ho používejte opatrně.

// Doesn't put originating page in history
window.location.replace("http://stackoverflow.com");

Čtvrtá cesta

jako attr () method (po zavedení jQuery 1.6)

var url = "http://stackoverflow.com";
$(location).prop('href', url);
32

V jQuery , použijte $(location).attr('href', url):

$(document).ready(function(){
    var url = "https://www.youtube.com/watch?v=JwMKRevYa_M";
    $(location).attr('href', url); // Using this
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

V raw JavaScript , existuje celá řada způsobů, jak toho dosáhnout:

window.location.href="https://www.youtube.com/watch?v=JwMKRevYa_M";

- explicitně nastaví vlastnost href.

window.location = "http://www.GameOfThrones.com";

- to implicitně Protože window.location vrací objekt, který ve výchozím nastavení nastavuje jeho vlastnost .href.

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

- nahradí umístění aktuálního okna novým.

self.location = "http://www.somewebsite.com";

- nastaví umístění aktuálního okna.

Zde je příklad přesměrování JavaScriptu po určité době (3 sekundy):

<script>
    setTimeout(function() {
        window.location.href = "https://www.youtube.com/";
    }, 3000);
</script>
29
Inconnu

Použití JavaScriptu:

Metoda 1:

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

Metoda 2:

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

Používání funkce jQuery:

Metoda 1: $ (umístění)

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

Metoda 2: Funkce opakovaného použití

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

jQuery(window).redirectTo("http://google.com");
28
Kalpesh Panchal

V JavaScriptu a jQuery používáme následující kód pro přesměrování stránky:

window.location.href="http://google.com";
window.location.replace("page1.html");

V aplikaci jQuery však můžete provést funkci přesměrování stránky:

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

A volejte tuto funkci:

jQuery(window).redirect("http://stackoverflow.com/")
27
Muhammad Waqas

Použijte funkci jQuery:

$.extend({
  redirectPost: function(location, args) {
    var form = '';
    $.each(args, function(key, value) {
      form += '<input type="hidden" name="' + key + '" value="' + value + '">';
    });
    $('<form action="' + location + '" method="POST">' + form + '</form>').appendTo($(document.body)).submit();
  }
});

Ve svém kódu jej použijete takto:

$.redirectPost("addPhotos.php", {pimreference:  $("#pimreference").val(), tag: $("#tag").val()});
23
stratum

Jednoduše v JavaScriptu můžete přesměrovat na konkrétní stránku pomocí následujících možností:

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

Nebo

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

Nebo

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

Používání funkce jQuery:

$(window).attr("location","http://www.test.com");
18
vipul sorathiya
<script type="text/javascript">
var url = "https://yourdomain.com";

// IE8 and lower fix
if (navigator.userAgent.match(/MSIE\s(?!9.0)/))
{
    var referLink = document.createElement("a");
    referLink.href = url;
    document.body.appendChild(referLink);
    referLink.click();
}

// All other browsers
else { window.location.replace(url); }
</script>
17
Jaydeep Jadav

Javascript je velmi rozsáhlý. Pokud chcete přejít na jinou stránku, máte tři možnosti.

 window.location.href='otherpage.com';
 window.location.assign('otherpage.com');
 //and...

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

Jak chcete přejít na jinou stránku, můžete použít některou z těchto možností, pokud je to vaše požadavky. Všechny tři možnosti jsou však omezeny na různé situace. Vyberte si moudře podle vašich požadavků.

pokud máte zájem o více znalostí o tomto konceptu. Můžete jít dál.

window.location.href; returns the href (URL) of the current page
window.location.hostname; returns the domain name of the web Host
window.location.pathname; returns the path and filename of the current page
window.location.protocol; returns the web protocol used (http: or https:)
window.location.assign; loads a new document
16
Must Keem J

Zde je kód pro přesměrování na jinou stránku s časovým limitem 10 sekund.

<script>
    function Redirect()
    {
        window.location="http://www.adarshkr.com";
    }

    document.write("You will be redirected to a new page in 10 seconds.");
    setTimeout('Redirect()', 10000);
</script>

Můžete to také udělat tak, že kliknete na tlačítko pomocí umístění.

<input type="button" value="Load new document" onclick="newPage()">
<script>
    function newPage() {
        window.location.assign("http://www.adarshkr.com")
    }
</script>
15

Můžete jej použít jako v následujícím kódu, kde getRequestToForwardPage je mapování požadavků ( URL ). Můžete také použít adresu URL.

function savePopUp(){
    $.blockUI();
    $.ajax({
        url:"saveGuestHouse?roomType="+$("#roomType").val(),
        data: $("#popForm").serialize(),
        dataType: "json",
        error: (function() {
            alert("Server Error");
            $.unblockUI();
    }),
    success: function(map) {
        $("#layer1").hide();
        $.unblockUI();
        window.location = "getRequestToForwardPage";
    }
});

To platí pro stejný kontext aplikace.

Pokud chcete použít pouze specifický kód jquery, může vám pomoci následující kód:

 $(location).attr('href',"http://www.google.com");
 $jq(window).attr("location","http://www.google.com");
 $(location).prop('href',"http://www.google.com"); 
15
Vinay Sharma
<script type="text/javascript">
    if(window.location.href === "http://stackoverflow.com") {      
         window.location.replace("https://www.google.co.in/");
       }
</script>
13
sneha

Stránku můžete přesměrovat pomocí níže uvedených metod:

  1. Pomocí meta tagu v hlavě - <meta http-equiv="refresh" content="0;url=http://your-page-url.com" />. Všimněte si, že content="0;... se používá pro to, kolik sekund potřebujete přesměrovat stránku

  2. Pomocí JavaScriptu: window.location.href = "http://your-page-url.com";

  3. Pomocí jQuery: $(location).attr('href', 'http://yourPage.com/');

13
SantoshK

Můžeš použít:

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

Metoda replace() neuloží původní stránku do historie relací, takže uživatel se nemůže vrátit pomocí tlačítka zpět a znovu se přesměrovat. POZNÁMKA: Tlačítko zpětného prohlížeče bude v tomto případě deaktivováno.

Chcete-li však efekt stejný jako po kliknutí na odkaz, měli byste použít:

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

V tomto případě bude aktivní tlačítko zpětného prohlížeče.

13
madhur

Použití:

function redirect(a) {
    location = a
}

A volání s: redirect([url]);

Po href není potřeba location, jak je naznačeno.

12
cascading-style

Událost Url.Action pro událost Button click můžete napsat v sekci skriptu následujícím způsobem.

function onclick() {
        location.href = '@Url.Action("Index","Home")';
    }
12
wild coder

Aplikace na jednu stranu , v rámci stejné aplikační trasy

window.location.pathname = '/stack';

JavaScript:

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

jQuery:

$(location).attr('href', "http://www.stack.com");
$(window).attr('location', "http://www.stack.com");

Angular 4

import { Router } from '@angular/router';
export class NavtabComponent{
    constructor(private router: Router) {
    }
    this.router.navigate(['bookings/taxi']);
}
12
HD..

Přidám jen jinou cestu:

Chcete-li přesměrovat stránku nebo odkazy na jinou stránku, přidejte tento řádek kódu:

<script>
    if(window.location.href == 'old_url')
    {
        window.location.href="new_url";
    }

    // Another URL redirect
    if(window.location.href == 'old_url2')
    {
        window.location.href="new_url2";
    }
</script>

Pro příklad skutečného života

<script>
    if(window.location.href == 'https://old-site.com')
    {
        window.location.href="https://new-site.com";
    }

    // Another URL redirect
    if(window.location.href == 'https://old-site.com/simple-post.html')
    {
        window.location.href="https://new-site.com/simple-post.html";
    }
</script>

Pomocí tohoto jednoduchého kódu můžete přesměrovat celý web nebo jednu stránku.

11

To je velmi snadné implementovat. Můžeš použít:

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

To bude pamatovat historii předchozí stránky. Takže se můžete vrátit kliknutím na tlačítko zpět na prohlížeči.

Nebo:

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

Tato metoda si nepamatuje historii předchozí stránky. Tlačítko zpět se v tomto případě deaktivuje.

11

Pokud dáváte přednost použití čistého javascriptu, uvědomil jsem si, že použití document.location.href = "https://example.com" nebo window.location.href = "https://example.com" způsobuje problémy s kompatibilitou ve Firefoxu. Místo toho se pokuste použít:

location.href = "https://example.com";
location.replace("http://example.com");

V mém případě problém vyřešil. Hodně štěstí!

Již používám funkci přesměrování () JavaScriptu. Funguje to.

<script type="text/javascript">
    $(function () {
        //It's similar to HTTP redirect
        window.location.replace("http://www.Technomark.in");

        //It's similar to clicking on a link
        window.location.href = "Http://www.Technomark.in";
    })
</script>
10
user1012506
  1. location.assign ():

    Přiřazení cesty trasy předáním cesty do ní .. Přiřazení vám dá historii i po přiřazení cesty.

    Metoda použití: hodnota by měla být předána do ní.

    Například: location.assign("http://google.com")

     Enter image description here

  2. location.href

    Dokáže do ní definovat cestu ... A jakmile se nastaví, přesměruje se na danou cestu a bude udržovat historii ...

    Metoda použití: hodnota by měla být přiřazena.

    Například: location.href = "http://google.com"

  3. location.replace ():

    Pomůže vám nahradit cestu, pokud nechcete uchovávat historii. Po nahrazení cesty vám nedá historii.

    Metoda použití: hodnota by měla být předána do ní.

    Například: location.replace("http://google.com")

     Enter image description here


assign() a href jsou podobné a obě mohou mít historii. assign bude fungovat předáním hodnoty a href funguje přiřazením.

Toho můžete dosáhnout pomocí JavaScriptu bez použití jQuery přiřazením,

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

Můžete dosáhnout podobné věci pomocí jQuery, jako je uvedeno níže. Bude to přesně to samé jako výše,

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

Můžete snadno pochopit rozdíl mezi oběma ...

Zde je objekt Location.

 Location API from chrome

10
Silent Spectator

Pokud chcete přesměrovat na trasu ve stejné aplikaci jednoduše

window.location.pathname = '/examplepath'

by to byla cesta.

9
RuNpiXelruN

Použití location.replace() vás přesměruje, ale bez uložení historie předchozí stránky. To je lepší použít při odeslání formuláře. Ale pokud chcete zachovat svou historii, musíte použít location.href=//path

Příklady:

// form with steps
document.getElementById('#next').onclick = function() {
   window.location.href='/step2' // iteration of steps;
}

// go to next step
document.getElementById("#back').onclick = function() {
   window.history.back();
}

// finish 
document.getElementById("#finish').onclick = function() {
   window.location.href = '/success';
}

// on success page
window.onload = function() {
    setTimeout(function() {
       window.location.replace('/home'); // i can't go back to success page by pressing the back button
    },3000);
}
8
Andrei Todorut

Přesměrování ze strany klienta:

<!DOCTYPE html>
<html>
    <head>
        <title>JavaScript and jQuery example to redirect a page or URL </title>
    </head>
    <body>
        <div id="redirect">
            <h2>Redirecting to another page</h2>
        </div>

        <script src="scripts/jquery-1.6.2.min.js"></script>
        <script>
            // JavaScript code to redirect a URL
            window.location.replace("http://stackoverflow.com");
            // window.location.replace('http://code.shouttoday.com');

            // Another way to redirect page using JavaScript

            // window.location.assign('http://code.shouttoday.com');
            // window.location.href = 'http://code.shouttoday.com';
            // document.location.href = '/relativePath';

            //jQuery code to redirect a page or URL
            $(document).ready(function(){
                //var url = "http://code.shouttoday.com";
                //$(location).attr('href',url);
                // $(window).attr('location',url)
                //$(location).prop('href', url)
            });
        </script>
    </body>
</html>
8
Zigri2612

Přesměrování uživatele pomocí jQuery/JavaScript

Pomocí objektu umístění v jQuery nebo JavaScriptu můžeme uživatele přesměrovat na jinou webovou stránku.

V jQuery

Kód pro přesměrování uživatele z jedné stránky na druhou je:

var url = 'http://www.example.com';
$(location).attr('href', url);

V JavaScriptu

Kód pro přesměrování uživatele z jedné stránky na druhou je:

var url = 'http://www.example.com';
window.location.href = url;

Nebo

var url = 'http://www.example.com';
window.location = url;
6
devst3r

Toto je způsob, jak ho používám.

   window.location.replace('yourPage.aspx');   
   // If you're on root and redirection page is also on the root

   window.location.replace(window.location.Host + '/subDirectory/yourPage.aspx');

   // If you're in sub directory and redirection page is also in some other sub directory.
5
dnxit

V mé pracovní zkušenosti, JavaScript je mnohem lepší přesměrovat.

Záleží na tom, jak chcete změnit umístění. Pokud chcete své webové stránky přihlásit do historie uživatelů, použijte window.location.href='ur website';. Jinak to udělejte bez přihlášení do historie pomocí window.location.replace("your website");.

4
Omkaar.K