document.referrer
em muitos casos, você obtém o URL da última página que o usuário visitou, se ele chegou à página atual clicando em um link (em vez de digitar diretamente na barra de endereços, ou eu acredito em alguns casos, enviando um formulário?). Especificado pelo DOM Nível 2 . Mais aqui.
window.history
permite navegação, mas não acesso a URLs na sessão por motivos de segurança e privacidade. Se um histórico de URLs mais detalhado estivesse disponível, todos os sites que você visitar poderiam ver todos os outros sites em que você esteve.
Se você estiver lidando com mudanças de estado em seu próprio site, é possivelmente menos frágil e certamente mais útil usar uma das técnicas normais de gerenciamento de sessões: dados de cookies, parâmetros de URL ou informações de sessão no servidor.
document.referrer
nem sempre funciona.$.cookie("previousUrl", window.location.href, {path:"/"});
.Se você quiser ir para a página anterior sem saber o URL, poderá usar a nova API do Histórico.
Mas você não pode manipular o conteúdo da pilha de histórico no navegador que não suporta a API de histórico do HTML5
Para mais informações, consulte o documento
fonte
document.referrer
não é o mesmo que o URL real em todas as situações.Eu tenho um aplicativo em que preciso estabelecer um conjunto de quadros com 2 quadros. Um quadro é conhecido, o outro é a página da qual estou vinculando. Parece que
document.referrer
seria o ideal, porque você não precisaria passar o nome do arquivo real para o documento do conjunto de quadros.No entanto, se você alterar posteriormente a página do quadro inferior e usá-
history.back()
la, ela não carregará a página original no quadro inferior; em vez disso, ela será recarregadadocument.referrer
e, como resultado, o conjunto de quadros desaparecerá e você voltará à janela inicial original.Demorei um pouco para entender isso. Portanto, na matriz de histórico,
document.referrer
não é apenas uma URL, aparentemente é também a especificação da janela de referência. Pelo menos, é a melhor maneira que eu posso entender neste momento.fonte
Se você estiver escrevendo um aplicativo Web ou um aplicativo de página única (SPA), em que o roteamento ocorre no aplicativo / navegador, em vez de uma ida e volta ao servidor, faça o seguinte:
Em sua nova rota, você pode fazer o seguinte para recuperar o URL anterior:
fonte
Aqueles que usam Node.js e Express podem definir um cookie de sessão que lembrará o URL da página atual, permitindo verificar o referenciador no carregamento da próxima página. Aqui está um exemplo que usa o
express-session
middleware:Você pode então verificar a existência de um cookie de referência da seguinte maneira:
Não assuma que um cookie de referência sempre exista com esse método, pois não estará disponível nas instâncias em que o URL anterior era outro site, a sessão foi limpa ou foi criada (carregamento inicial do site pela primeira vez).
fonte
document.referrer
serve ao seu objetivo, mas não funciona nas versões do Internet Explorer anteriores ao IE9.Funcionará para outros navegadores populares, como Chrome, Mozilla, Opera, Safari etc.
fonte
Isso irá navegar para o URL visitado anteriormente.
fonte