javascript script window - Como faço para redirecionar para outra página da web?





15 Answers

AVISO: 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')
location href '/

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




Usar:

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



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 que você deseja obter diretamente.

<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 entraria. O que você faria é incluir um manipulador de cliques em cada uma das tags de âncora correspondentes a uma página diferente. Este 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
    });
});



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 .







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 os erros que podem 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, que usa 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 para o google.com apó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 possa voltar 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, 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 seguido.

META Refresh

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

META Localização

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

Invasão 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 de 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 denunciado 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=en&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.




Você pode fazer isso sem jQuery como:

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

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

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



# HTML Page Redirect 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 como window.location = "www.google.co.in"; .




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

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

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

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



***** A PERGUNTA ORIGINAL FOI - "COMO REDIRECIONAR A UTILIZAÇÃO DA JQUERY", AQUI 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 a ações do usuário ou mostrar e ocultar conteúdo dentro ou fora do elemento selecionado. Todas essas tarefas começam com o conhecimento de 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 do seu aplicativo, também tenho código, se quiser.




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

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



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>



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

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



Related