Como posso redirecionar o usuário de uma página para outra usando jQuery ou JavaScript puro?
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, use
location.href
Se você quiser simular um redirecionamento HTTP, use
location.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";
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')
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;
}
}
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')
Isso funciona para todos os navegadores:
window.location.href = 'your_url';
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
});
});
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 -->
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 .
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>
Protocolo - Especifica o nome do protocolo a ser usado para acessar o recurso na Internet. (HTTP (sem SSL) ou HTTPS (com SSL))
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.
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.
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.
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).
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
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
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.
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:
Deve apenas ser capaz de definir usando window.location
.
Exemplo:
window.location = "https://stackoverflow.com/";
Aqui está um post passado sobre o assunto:
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.
var url = 'asdf.html';
window.location.href = url;
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");
Isso funciona com jQuery:
$(window).attr("location", "http://google.fr");
# 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";
.
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");
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 .
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;
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";
});
***** 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.
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')
.
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.
Você pode redirecionar em jQuery assim:
$(location).attr('href', 'http://yourPage.com/');
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");
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
$({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.
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>
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.
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);
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"
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);
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>
window.location.href="http://google.com";
window.location.replace("http://google.com");
$(location).attr('href', 'http://google.com');
jQuery.fn.redirectTo = function(url){
window.location.href = url;
}
jQuery(window).redirectTo("http://google.com");
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/")
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()});
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");
<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>
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
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>
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");
<script type="text/javascript">
if(window.location.href === "http://stackoverflow.com") {
window.location.replace("https://www.google.co.in/");
}
</script>
Você pode redirecionar a página usando os métodos abaixo:
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
Usando JavaScript: window.location.href = "http://your-page-url.com";
Usando jQuery: $(location).attr('href', 'http://yourPage.com/');
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.
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.
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")';
}
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']);
}
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.
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.
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!
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>
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")
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"
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")
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,
Se você quiser redirecionar para uma rota dentro do mesmo aplicativo, basta
window.location.pathname = '/examplepath'
seria o caminho a percorrer.
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);
}
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>
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;
É 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.
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");
.