SwiftHTML & CSSSolidityDesenvolvimento de JogosSolana/Rust
10.02.2025

Voltar para a Página Anterior em JS: Botão 'Cancelar'

Resposta Rápida

Para navegar o usuário de volta à página da web anterior, você precisa conectar a chamada da função window.history.back() ao manipulador de eventos onclick. Esse manipulador pode ser colocado diretamente na marcação do botão:

<button onclick="window.history.back()">Voltar</button>

O botão descrito acima ativa a transição para a página anterior quando clicado, semelhante à ação de "voltar" no navegador.

Recursos e Funcionalidades Adicionais

Prevenir Submissão de Formulário

Para evitar a submissão do formulário durante a navegação, você pode usar return false; dentro do onclick:

<button onclick="window.history.back(); return false;">Cancelar</button>

Voltar Várias Páginas

Para voltar várias páginas no histórico do navegador, utilize a função history.go(-x). Aqui, x é o número de páginas que você deseja especificar:

<button onclick="history.go(-2)">Voltar Duas Páginas</button>

Substituir Botão por um Link

Às vezes, é mais apropriado usar um link estilizado em vez de um botão:

<a href="#" onclick="window.history.back(); return false;">Voltar</a>

Adicionar javascript:void(0); no atributo href permite desativar o comportamento padrão do link enquanto mantém a navegação através do evento onclick.

Sobre a Função back()

As funções window.history.back() e history.back() são intercambiáveis. No entanto, usar o prefixo window melhora a legibilidade do código e ajuda a evitar mal-entendidos em contextos com várias janelas.

Chamada Clara para Ação

Ênfase Visual no Botão "Cancelar"

Para melhorar a interação do usuário no site, você pode aumentar a visibilidade do botão "Cancelar" usando estilos CSS:

.cancel-button {
  background-color: #f44336; /* A cor vermelha torna o botão mais chamativo */
  color: white;
}

Exemplo de Uso Prático

Aplicando uma classe para estilizar o botão:

<button onclick="window.history.back(); return false;" class="cancel-button">Cancelar</button>

Esclarecendo o Propósito do Botão

Se o botão for usado para navegação, em vez de submissão de formulário, especifique seu tipo como button:

<button type="button" onclick="window.history.back();">Voltar</button>

Trabalhando com JavaScript Embutido

Resolvendo Conflitos

Para separar o JavaScript do HTML e simplificar o processo de depuração, você pode configurar o evento onclick diretamente pelo JavaScript:

document.getElementById('goBackButton').addEventListener('click', function() {
    history.back();
});

Partes de Código Desnecessárias

O prefixo window. não é obrigatório, mas pode ajudar iniciantes a entender o código mais rapidamente:

<button onclick="window.history.back(); return false;">Voltar</button>

Visualização

Se você pensar na história do navegador como uma linha do tempo, é fácil entender os princípios de navegação:

1. Início: Início 🏠
2. Ir para a Loja 🏪 (via link)
3. Ir para o Parque 🌳 (via outro link)
4. Retornar ao Ponto Anterior: 🌳 ➡️ 🏪 

O JavaScript permite gerenciar o histórico:

function goBack() {
    window.history.back();
}

Considerações Adicionais

Compatibilidade entre Navegadores

As funções history.back() e history.go(-1) são suportadas pela maioria dos navegadores. No entanto, a compatibilidade com versões mais antigas deve ser considerada.

Manipulação em um Ambiente Dinâmico

Em aplicações de página única ou ao carregar conteúdo dinamicamente, é importante garantir que as transições sejam adequadamente refletidas no histórico do navegador.

Gerenciando Histórico

Para simplificar a navegação do usuário, use os métodos history.pushState() e history.replaceState(), que permitem gerenciar entradas no histórico de navegação.

Monitorando Mudanças no Histórico

O evento window.onpopstate permite que você responda a momentos em que o estado da interface do usuário muda.

Recursos Úteis

  1. Propriedade Window.history - Web API | MDN — Informações básicas sobre o uso da API de histórico para navegação.
  2. Botão Voltar | CSS-Tricks — Um guia simples para criar um botão de voltar.
  3. O Método back() do Histórico — Tutorial sobre como usar o método back() em JavaScript.
  4. Evento Click - Web API | MDN — Descrição detalhada do evento click em JavaScript.
  5. Evento Click | Documentação da API jQuery — Gerenciando eventos de clique com jQuery.
  6. Eventos de Borbulhamento e Captura — Artigo sobre o mecanismo de propagação de eventos no DOM.
  7. JavaScript - O que são Eventos de Borbulhamento e Captura? - Stack Overflow — Discussão sobre eventos de borbulhamento e captura no fórum Stack Overflow.

Video

Did you like this article? Rate it from 1 to 5:

Thank you for voting!