ti-enxame.com

Como faço para redirecionar para outra página da web?

Como posso redirecionar o usuário de uma página para outra usando jQuery ou JavaScript puro?

7729
venkatachalam

Um não redireciona simplesmente usando jQuery

jQuery não é necessário, e window.location.replace(...) irá simular melhor um redirecionamento HTTP.

window.location.replace(...) é melhor que usar window.location.href, porque replace() não mantém a página de origem no histórico da sessão, o que significa que o usuário não ficará preso a um fiasco de back-button sem fim.

Se você quiser simular alguém clicando em um link, uselocation.href

Se você quiser simular um redirecionamento HTTP, uselocation.replace

Por exemplo:

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

ATENÇÃO: Esta resposta foi meramente fornecida como uma solução possível; é obviamente não a melhor solução, pois requer jQuery. Em vez disso, prefira a solução JavaScript pura.

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

Forma JavaScript "Vanilla" padrão para redirecionar uma página:

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


Se você está aqui porque está perdendo HTTP_REFERER ao redirecionar, continue lendo:


A seção a seguir é para aqueles que usam HTTP_REFERER como uma das muitas medidas seguras (embora não seja uma ótima medida de proteção). Se você estiver usando Internet Explorer 8 ou inferior, essas variáveis ​​serão perdidas ao usar qualquer forma de redirecionamento de página JavaScript (location.href, etc.).

Abaixo, vamos implementar uma alternativa para IE8 & lower para que não percamos HTTP_REFERER. Caso contrário, você quase sempre pode simplesmente usar window.location.href.

Testar contra HTTP_REFERER (colagem de URL, sessão, etc.) can pode ser útil para dizer se uma solicitação é legítima. ( Nota: há também maneiras de contornar/falsificar esses referenciadores, como observado pelo link de droop nos comentários)


Solução de teste simples entre navegadores (alternativa a window.location.href para o Internet Explorer 9+ e todos os outros navegadores)

Uso: 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
Mark Pieszak - Trilon.io

Existem muitas maneiras de fazer isso.

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

Isso funciona para todos os navegadores:

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

Ajudaria se você fosse um pouco mais descritivo no que você está tentando fazer. Se você está tentando gerar dados paginados, há algumas opções em como você faz isso. Você pode gerar links separados para cada página à qual deseja obter acesso direto.

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

Observe que a página atual no exemplo é tratada de maneira diferente no código e com CSS.

Se você quiser que os dados paginados sejam alterados por meio do AJAX, é aqui que o jQuery entra. O que você faria é incluir um manipulador de cliques em cada uma das tags de âncora correspondentes a uma página diferente. Esse manipulador de cliques invocaria algum código jQuery que vai e busca a próxima página via AJAX e atualiza a tabela com os novos dados. O exemplo abaixo pressupõe que você tenha um serviço da Web que retorne os novos dados da página.

$(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

Eu também acho que location.replace(URL) é a melhor maneira, mas se você quiser notificar os motores de busca sobre o seu redirecionamento (eles não analisam o código JavaScript para ver o redirecionamento) você deve adicionar a meta tag rel="canonical" ao seu site.

Adicionando uma seção noscript com uma meta tag de atualização HTML, também é uma boa solução. Eu sugiro que você use este ferramenta de redirecionamento de JavaScript para criar redirecionamentos. Ele também tem suporte do Internet Explorer para passar o referenciador HTTP.

O código de exemplo sem demora se parece com isto:

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

Mas se alguém quiser redirecionar para a página inicial, ele poderá usar o seguinte snippet.

window.location = window.location.Host

Seria útil se você tivesse três ambientes diferentes como desenvolvimento, teste e produção.

Você pode explorar essa janela ou objeto window.location apenas colocando essas palavras no Console do Chrome ou no Console do Firebug .

212
Nadeem Yasin

O JavaScript fornece vários métodos para recuperar e alterar o URL atual exibido na barra de endereço do navegador. Todos esses métodos usam o objeto Location, que é uma propriedade do objeto Window. Você pode criar um novo objeto Location que tenha o URL atual da seguinte maneira.

var currentLocation = window.location;

Estrutura básica de um URL

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

enter image description here

  1. Protocolo - Especifica o nome do protocolo a ser usado para acessar o recurso na Internet. (HTTP (sem SSL) ou HTTPS (com SSL))

  2. hostname - nome do host especifica o host que possui o recurso. Por exemplo, www.stackoverflow.com. Um servidor fornece serviços usando o nome do host.

  3. port - Um número de porta usado para reconhecer um processo específico para o qual uma mensagem da Internet ou de outra rede deve ser encaminhada quando chega a um servidor.

  4. pathname - O caminho fornece informações sobre o recurso específico dentro do Host que o Web client deseja acessar. Por exemplo, stackoverflow.com/index.html.

  5. consulta - Uma sequência de consulta segue o componente do caminho e fornece uma sequência de informações que o recurso pode utilizar para algum propósito (por exemplo, como parâmetros para uma pesquisa ou como dados a serem processados).

  6. hash - A parte da âncora de um URL, inclui o sinal de hash (#).

Com essas propriedades do objeto Location, você pode acessar todos esses componentes de URL

  1. hash - Configura ou retorna a parte da âncora de um URL.
  2. Host - Configura ou retorna o nome do host e a porta de um URL.
  3. hostname - Configura ou retorna o nome do host de um URL.
  4. href - Configura ou retorna o URL inteiro.
  5. pathname - Configura ou retorna o nome do caminho de um URL.
  6. port - Configura ou retorna o número da porta que o servidor usa para um URL.
  7. protocol - Configura ou retorna o protocolo de um URL.
  8. pesquisa - Configura ou retorna a parte da consulta de um URL

Agora, se você quiser alterar uma página ou redirecionar o usuário para outra página, você pode usar a propriedade href do objeto Location como este

Você pode usar a propriedade href do objeto Location.

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

Location Object também tem estes três métodos

  1. assign () - Carrega um novo documento.
  2. reload () - Recarrega o documento atual.
  3. replace () - Substitui o documento atual por um novo

Você pode usar os métodos assign () e replace também para redirecionar para outras páginas como estas

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

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

Como assign () e replace () diferem - A diferença entre o método replace () e assign () method (), é que replace () remove o URL do atual documento do histórico do documento, significa que não é possível usar o botão "voltar" para navegar de volta para o documento original. Portanto, use o método assign () se quiser carregar um novo documento e quiser dar a opção de navegar de volta para o documento original.

Você pode alterar a propriedade href do objeto de localização usando jQuery também como este

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

E, portanto, você pode redirecionar o usuário para algum outro URL.

199
Nikhil Agrawal

Basicamente jQuery é apenas um JavaScript framework e para fazer algumas das coisas como redirecionamento neste caso, você pode simplesmente usar JavaScript puro, então nesse caso você tem 3 opções usando o Vanilla JavaScript:

1) Usando o local replace , isso substituirá o histórico atual da página, o que significa que não é possível usar o botão back para retornar à página original.

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

2) Usando localização assign , isto irá manter o histórico para você e com o botão voltar, você pode voltar para a página original:

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

3) Eu recomendo usar uma dessas formas anteriores, mas esta poderia ser a terceira opção usando JavaScript puro:

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

Você também pode escrever uma função no jQuery para lidar com isso, mas não é recomendado, pois é apenas uma linha de função JavaScript pura, você também pode usar todas as funções acima sem janela se já estiver no escopo da janela, por exemplo window.location.replace("http://stackoverflow.com"); poderia ser location.replace("http://stackoverflow.com");

Também mostro a todos eles na imagem abaixo:

location.replace location.assign

188
Alireza

Deve apenas ser capaz de definir usando window.location.

Exemplo:

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

Aqui está um post passado sobre o assunto:

Como eu redireciono para outra página da Web?

188
Newse

Antes de começar, o jQuery é uma biblioteca JavaScript usada para manipulação de DOM. Então você não deveria estar usando jQuery para um redirecionamento de página.

Uma citação do Jquery.com:

Embora o jQuery possa ser executado sem grandes problemas em versões de navegadores mais antigos, nós não testamos ativamente o jQuery neles e geralmente não corrigimos bugs que possam aparecer neles.

Foi encontrado aqui: https://jquery.com/browser-support/

Portanto, o jQuery não é uma solução final e ideal para compatibilidade com versões anteriores.

A solução a seguir, usando JavaScript bruto, funciona em todos os navegadores e é padrão há muito tempo, portanto, você não precisa de nenhuma biblioteca para suporte a vários navegadores.

Esta página irá redirecionar paraGoogleapós 3000 milissegundos

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

Diferentes opções são as seguintes:

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"

Ao usar substituir, o botão Voltar não voltará para a página de redirecionamento, como se nunca estivesse no histórico. Se você quiser que o usuário volte para a página de redirecionamento, use window.location.href ou window.location.assign. Se você usar uma opção que permita ao usuário voltar para a página de redirecionamento, lembre-se de que, ao entrar na página de redirecionamento, ela será redirecionada. Então, ponha isso em consideração ao escolher uma opção para o seu redirecionamento. Sob condições em que a página está apenas redirecionando quando uma ação é feita pelo usuário, então, ter a página no histórico do botão voltar ficará bem. Mas, se o redirecionamento automático da página for usado, você deverá usar substituir para que o usuário possa usar o botão voltar sem ser forçado a voltar para a página que o redirecionamento envia.

Você também pode usar metadados para executar um redirecionamento de página como segue.

META Refresh

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

Localização META

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

Sequestro BASE

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

Muitos outros métodos para redirecionar seu cliente desavisado para uma página que eles podem não querer ir podem ser encontrados nesta página (nenhum deles depende do jQuery):

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

Eu também gostaria de salientar, as pessoas não gostam de ser redirecionadas aleatoriamente. Somente redirecione as pessoas quando for absolutamente necessário. Se você começar a redirecionar as pessoas aleatoriamente, elas nunca mais voltarão ao seu site.

A próxima parte é hipotética:

Você também pode ser reportado como um site malicioso. Se isso acontecer, quando as pessoas clicarem em um link para o seu site, o navegador do usuário poderá avisá-lo que seu site é malicioso. O que também pode acontecer é que os mecanismos de pesquisa possam começar a perder sua classificação se as pessoas estiverem relatando uma experiência ruim em seu site.

Consulte as diretrizes para webmasters do Google sobre redirecionamentos: https://support.google.com/webmasters/answer/2721217?hl=pt-BR&ref_topic=6001971

Aqui está uma pequena página divertida que te tira da página.

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

Se você combinar os dois exemplos de página juntos, você terá um loop infantil de reencaminhamento que garantirá que seu usuário nunca mais desejará usar seu site novamente.

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

Você pode fazer isso sem jQuery como:

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

E se você quiser apenas jQuery, então você pode fazer como:

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

Isso funciona com jQuery:

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

# Redirecionamento de página HTML usando jQuery/JavaScript

Tente este código de exemplo:

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

Se você quiser fornecer uma URL completa comowindow.location = "www.google.co.in";.

84
Sakthi Karthik

Você precisa colocar esta linha no seu código:

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

Se você não tiver o jQuery, vá com JavaScript:

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

Então, a questão é como fazer uma página de redirecionamento, e não como redirecionar para um site?

Você só precisa usar JavaScript para isso. Aqui está um pequeno código que irá criar uma página de redirecionamento dinâmico.

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

Então diga que você acabou de colocar este trecho em um arquivo redirect/index.html em seu site, você pode usá-lo assim.

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

E se você for para esse link, ele irá automaticamente redirecioná-lo para stackoverflow.com .

Link para documentação

E é assim que você cria uma página de redirecionamento Simples com JavaScript

Editar:

Há também uma coisa a notar. Eu adicionei window.location.replace no meu código porque acho que combina com uma página de redirecionamento, mas, você deve saber que quando usar window.location.replace e você for redirecionado, quando você pressionar o botão voltar no seu navegador irá not voltar para a página de redirecionamento, e ele voltará para a página anterior, dê uma olhada nesta pequena demonstração.

Exemplo:

O processo: home da loja => página de redirecionamento para o google => google

Quando no google: google => botão voltar no navegador => store home

Então, se isso atender às suas necessidades, então tudo deve ficar bem. Se você quiser incluir a página de redirecionamento no histórico do navegador, substitua

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

com

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

Na sua função de clique, basta adicionar:

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

***** A PERGUNTA ORIGINAL FOI - "COMO REDIRECIONAR USANDO O JQUERY", HENCE, A RESPOSTA IMPLEMENTA AQUISIÇÃO >> CASO DE USO GRATUITO *****

Para apenas redirecionar para uma página com JavaScript:

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

Ou se você precisar de um atraso:

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

o jQuery permite selecionar elementos de uma página da web com facilidade. Você pode encontrar o que quiser em uma página e usar o jQuery para adicionar efeitos especiais, reagir às ações do usuário ou mostrar e ocultar o conteúdo dentro ou fora do elemento que você selecionou. Todas essas tarefas começam com saber como selecionar um elemento ou um evento .

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

Imagine alguém escreveu um script/plugin que é 10000 linhas de código ?! Bem, com jQuery você pode se conectar a este código com apenas uma linha ou duas.

69
SergeDirect

Tente isto:

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

Trecho de código do exemplo .

58
tilak

jQuery não é necessário. Você consegue fazer isso:

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

É assim tão fácil!

A melhor maneira de iniciar uma solicitação HTTP é com document.loacation.href.replace('URL').

54
MayorMonty

Primeiro escreva corretamente. Você deseja navegar em um aplicativo por outro link do seu aplicativo para outro link. Aqui está o código:

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

E se você quiser navegar pelas páginas dentro do seu aplicativo, eu também tenho código, se você quiser.

51
Anup

Você pode redirecionar em jQuery assim:

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

Em JavaScript e jQuery, podemos usar o seguinte código para redirecionar a página para outra página:

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 bytes

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

Por favor, não me mate, isso é uma piada. É uma piada. Isso é uma piada.

Isso "forneceu uma resposta para a pergunta", no sentido de que pedia uma solução "usando jQuery", que neste caso implica forçá-lo na equação de alguma forma.

Ferrybig aparentemente precisa da piada explicou (ainda brincando, eu tenho certeza que existem opções limitadas no formulário de revisão), então sem mais delongas:

Outras respostas estão usando attr() da jQuery nos objetos location ou window desnecessariamente.

Essa resposta também abusa, mas de uma maneira mais ridícula. Em vez de usá-lo para definir o local, isso usa attr() para recuperar uma função que define o local.

A função é chamada jQueryCode mesmo que não exista nada jQuery sobre isso, e chamar uma função somethingCode é simplesmente horrível, especialmente quando o algo não é nem mesmo uma linguagem.

Os "85 bytes" são uma referência ao Code Golf. Golfe obviamente não é algo que você deve fazer fora do golfe de código, e além disso esta resposta é claramente não golfed realmente.

Basicamente, encolher.

42
1j01

Aqui está um redirecionamento de tempo de atraso. Você pode definir o tempo de atraso para o que você quiser:

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

Existem três maneiras principais de fazer isso

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

e...

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

O último é o melhor, para um redirecionamento tradicional, porque ele não salvará a página que você acessou antes de ser redirecionado em seu histórico de pesquisa. No entanto, se você quiser apenas abrir uma guia com JavaScript, você pode usar qualquer uma das opções acima. 1

EDIT: O prefixo window é opcional.

36
Ben

Eu só tive que atualizar esse ridículo com outro método mais recente do jQuery:

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

Escreva o código abaixo após a seção PHP, HTML ou jQuery. Se estiver no meio da seção PHP ou HTML, use a tag <script>.

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

código jQuery para redirecionar uma página ou URL

primeira maneira

Aqui está o código jQuery para redirecionar uma página. Como coloquei esse código na função $ (document) .ready (), ele será executado assim que a página for carregada.

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

Você pode até mesmo passar um URL diretamente para o método attr () , em vez de usar uma variável.

Segunda via

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

Você também pode codificar assim (ambos são os mesmos internamente):

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

Se você está curioso sobre a diferença entre window.location e window.location.href, então você pode ver que o último está configurando a propriedade href explicitamente, enquanto o primeiro faz isso implicitamente. Como window.location retorna um objeto, que por padrão define sua propriedade .href.

terceira maneira

Existe outra maneira de redirecionar uma página usando JavaScript, o método replace() do objeto window.location. Você pode passar um novo URL para o método replace() e simulará um redirecionamento HTTP. A propósito, lembre-se que o método window.location.replace() não coloca a página de origem no histórico da sessão, o que pode afetar o comportamento do botão voltar. Às vezes, é o que você quer, então use-o com cuidado.

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

quarta maneira

como attr () method (após a introdução do jQuery 1.6)

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

Em jQuery , use $(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>

Em raw JavaScript , há várias maneiras de conseguir isso:

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

- define a propriedade href explicitamente.

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

- implicitamente Como window.location retorna um objeto, que por padrão define sua propriedade .href.

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

- substitui a localização da janela atual pela nova.

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

- define a localização da janela atual.

Aqui está um exemplo de redirecionamento de JavaScript após um determinado tempo (3 segundos):

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

Usando JavaScript:

Método 1:

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

Método 2:

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

Usando jQuery:

Método 1: $ (local)

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

Método 2: função reutilizável

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

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

Em JavaScript e jQuery, usamos este código a seguir para redirecionar a página:

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

Mas você pode fazer uma função no jQuery para redirecionar a página:

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

E chame essa função:

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

Use a função 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();
  }
});

Em seu código você usa assim:

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

Simplesmente em JavaScript, você pode redirecionar para uma página específica usando o seguinte:

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

Ou

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

Ou

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

Usando 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 é muito extenso. Se você quiser pular para outra página, você tem três opções.

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

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

Como você quer mudar para outra página, você pode usar qualquer uma destas se esta for sua exigência. No entanto, todas as três opções estão limitadas a diferentes situações. Escolheu sabiamente de acordo com o seu requirment.

se você está interessado em mais conhecimento sobre o conceito. Você pode ir mais além.

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

Aqui está o código para redirecionar para outra página com um tempo limite de 10 segundos.

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

Você também pode fazer assim, ao clicar em um botão usando location.assign:

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

Você pode usá-lo como no código a seguir, onde getRequestToForwardPage é o mapeamento de solicitação ( URL ). Você também pode usar seu 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";
    }
});

Isso é para o mesmo contexto do aplicativo.

Se você quiser usar apenas código específico jquery, o seguinte código pode ajudar:

 $(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

Você pode redirecionar a página usando os métodos abaixo:

  1. Usando uma meta tag na cabeça - <meta http-equiv="refresh" content="0;url=http://your-page-url.com" />. Note que content="0;... é usado para depois de quantos segundos você precisa redirecionar a página

  2. Usando JavaScript: window.location.href = "http://your-page-url.com";

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

13
SantoshK

Você pode usar:

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

O método replace() não salva a página de origem no histórico da sessão, portanto, o usuário não pode voltar usando o botão voltar e novamente ser redirecionado. NOTA: O botão Voltar do navegador será desativado neste caso.

No entanto, se você quiser um efeito igual ao clicar em um link, você deve:

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

Nesse caso, o botão Voltar do navegador estará ativo.

13
madhur

Usar:

function redirect(a) {
    location = a
}

E chame-o com: redirect([url]);

Não há necessidade de href após location, como está implícito.

12
cascading-style

Você pode gravar a ação Url.Action para o evento Button click na seção de script da seguinte maneira.

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

Aplicativo de Página Única , dentro da mesma rota de aplicativo

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

Eu apenas adiciono outra maneira:

Para redirecionar para qualquer página específica/links do seu site para outra página, basta adicionar esta linha de código:

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

Para um exemplo da vida real

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

Ao usar este código simples, você pode redirecionar o site completo ou qualquer página única.

11
Maniruzzaman Akash

Isso é muito fácil de implementar. Você pode usar:

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

Isso vai lembrar a história da página anterior. Assim, pode-se voltar clicando no botão Voltar do navegador.

Ou:

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

Este método não lembra o histórico da página anterior. O botão Voltar fica desativado neste caso.

11
Abhishek K. Upadhyay

Se você preferir usar o javascript puro, percebi que o uso de document.location.href = "https://example.com" ou window.location.href = "https://example.com" causa problemas de compatibilidade no Firefox. Em vez disso tente usar:

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

No meu caso resolveu o problema. Boa sorte!

10

Eu já uso a função redirect () do JavaScript. Está funcionando.

<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 ():

    Para atribuir um caminho de rota, passando um caminho para ele .. Atribuir lhe dará um histórico, mesmo após o caminho foi atribuído.

    Método de Uso: value deve ser passado para ele.

    Por exemplo: location.assign("http://google.com")

    Enter image description here

  2. location.href

    Pode definir dar um caminho para ele ... E ele irá redirecionar para um determinado caminho, uma vez configurado, e manterá a história ...

    Método de Uso: value deve ser atribuído a ele.

    Por exemplo: location.href = "http://google.com"

  3. location.replace ():

    Isso ajudará a substituir um caminho se você não quiser manter o histórico. Não lhe dará uma história quando você substituir o caminho.

    Método de Uso: value deve ser passado para ele.

    Por exemplo: location.replace("http://google.com")

    Enter image description here


assign() e href são semelhantes e ambos podem conter histórico. assign funcionará passando um valor e href works atribuindo.

Você pode conseguir isso usando o próprio JavaScript sem usar o jQuery atribuindo,

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

Você pode conseguir algo semelhante usando jQuery como abaixo. Ele fará exatamente o mesmo como acima,

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

Você pode entender facilmente a diferença entre os dois ...

Aqui está o objeto Location,

Location API from chrome

10
Silent Spectator

Se você quiser redirecionar para uma rota dentro do mesmo aplicativo, basta

window.location.pathname = '/examplepath'

seria o caminho a percorrer.

9
RuNpiXelruN

Usando location.replace() irá redirecioná-lo, mas sem salvar o histórico da página anterior. É melhor usar isso quando um formulário é enviado. Mas quando você quiser manter seu histórico você tem que usar location.href=//path

Exemplos:

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

Todo o caminho para fazer um redirecionamento do lado do cliente:

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

Redirecionando usuário usando jQuery/JavaScript

Ao usar o objeto de localização em jQuery ou JavaScript, podemos redirecionar o usuário para outra página da web.

em jQuery

O código para redirecionar o usuário de uma página para outra é:

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

em JavaScript

O código para redirecionar o usuário de uma página para outra é:

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

ou

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

É assim que eu uso.

   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

Na minha experiência de trabalho, o JavaScript é muito melhor para redirecionar.

Depende de como você deseja alterar o local. Se você quiser registrar seu site no histórico de usuários, use window.location.href='ur website';. Caso contrário, sem fazer login no histórico, use window.location.replace("your website");.

4
Omkaar.K