"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como detectar com segurança o botão de volta do navegador e distinguir as ações de volta dentro da página?

Como detectar com segurança o botão de volta do navegador e distinguir as ações de volta dentro da página?

Postado em 2025-04-17
Navegar:787

How Can We Reliably Detect Browser Back Button Presses and Differentiate Them from In-Page Back Button Actions?

implementando detecção de botão de travessia cruzada do navegador cruzado

detectando o botão de volta, pressione os eventos

determinar se o usuário pressionou o botão Back do navegador representa um desafio. Muitos propõem o uso da função Window.onhashChange, mas também responde aos botões traseiros na página, afetando adversamente a experiência do usuário. Para isso, empregue uma matriz (window.location.lasthash) para armazenar hashes anteriores à medida que o usuário navega na interface. Em vez disso, uma variável de sinalizador alternada pelo OnMouseOver do documento (quando o mouse paira sobre o documento) e onMouseleave (quando o mouse sai do documento) foi planejado. if (window.innerdocClick) { // Mecanismo na página desencadeou a mudança de hash } outro { if (window.location.hash! = '#undefined') { // Botão traseiro do navegador Clicou volte(); } } }

impedindo que o backspace imite o botão de volta

para impedir que o backspace acionasse o evento do botão traseiro, implemente o seguinte script:

$ (function () { var rx = /entrada | selecione | textarea /i; $ (documento) .bind ("keydown keypress", função (e) { if (e.which == 8) {// 8 == backspace if (! rx.test (e.target.tagname) || e.target.disabled || e.target.readonly) { E.PreventDefault (); } } }); });

No resumo, utilizando os eventos do pau do documento, pode-se diferenciar efetivamente entre os cliques do botão traseiro do navegador e o uso do botão traseiro na página, permitindo o controle preciso da funcionalidade do botão traseiro.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3