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();
});
Foi útil?

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

http://www.java-samples.com/showtutorial.php?tutorialId=582

http://www.xinotes.org/notes/note/369/

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top