Detectar se o usuário usou o botão de volta
-
21-09-2019 - |
Pergunta
Minha página da web executa uma função JavaScript quando a página é carregada. No entanto, não quero que a função seja executada se o usuário voltar a esta página usando o botão Voltar. Como posso impedir isso usando JavaScript?
$(document).ready(function(){
// Do not run this function if the user has arrived here using the back button
RefreshThePage();
});
Solução
Eu teria pensado que usar cookies é a maneira mais fácil de fazer isso
Outras dicas
Eu acho que estudar a maneira como os struts lidam com os envios de formulários duplicados podem ajudá -lo.
Alguns links:
http://www.techfaq360.com/tutorial/multiclick.jsp
Rastreie quando o usuário acertar o botão de volta no navegador
Existem várias maneiras de fazê -lo, embora algumas apenas funcionem em certos navegadores. Um que eu conheço no topo da minha cabeça é incorporar um pequeno iframe quase invisível na página. Quando o usuário acertar o botão traseiro, o iframe é navegado para trás, que você pode detectar e atualizar sua página. Aqui é outra solução.
Você também pode querer ver a fonte em algo como o Gmail e ver como eles fazem isso.
Aqui está uma biblioteca para o tipo de coisa que você está procurando a propósito
O objeto de evento oferece você a obter o código -chave. Então, basicamente, você registra um listener de eventos onkeydown. Use o evento recebido. Se o código -chave corresponder à chave que você gosta, continue com sua função.
document getElementById('elementId').onKeyDown = checkKey();
function checkKey(event) {
if (event.keyCode === keyCode) then . . .
}
brincar com alert (event.keycode); para encontrar o certo.