É possível impedir a navegação do browser?

Pessoal,

É possível eu bloquear as solicitações do browser (seja via os botões de navegação, via atalhos, como backspace ou alt + left) a history.back(), history.next(), etc?

Gostaria que o usuário só voltasse a uma tela anterior através de um botão Voltar do sistema, por exemplo.

Não é possível.

Se vc quiser pode chamar, um div layer e coloque background-image:url(minhapagina.jsp);. Eu fiz isso com fotos, tenho uma página, quando eu clico na foto, chama ela maior ai uso dois layers o principal que copia a imagem que esta no browser e o outro chama a foto. Pois o conteudo da página fica bloqueado, enquanto não fechar o layers.

Acho que seja isso.

Nem mesmo usando a idéia de um aspecto? Algo do tipo… “quando houver uma tentativa de history.back() chame um método que eu escrevi ao invés do history.back().” Método que eu faria retornar false para impedir que history.back() seja invocado.

Se vc quiser pode chamar, um div layer e coloque background-image:url(minhapagina.jsp);. Eu fiz isso com fotos, tenho uma página, quando eu clico na foto, chama ela maior ai uso dois layers o principal que copia a imagem que esta no browser e o outro chama a foto. Pois o conteudo da página fica bloqueado, enquanto não fechar o layers.

Acho que seja isso.

Voce pode usar ajax… assim nao eh possivel utilizar o botao do navegador para alternar entre as paginas visitadas…

Mas ainda assim, a acao voltar ainda estaria habilitada… com ajax, o historico nao eh salvo… entao ele nao voltaria para a tela anterior, mas o historico que ja existia antes de entrar na aplicacao ainda existiria… e quando ele tentasse voltar, voltaria para a ultima pagina antes da minha aplicacao.

Porém teu servidor vai ter que controlar o fluxo da pagina.

eu ja fiz vai javascript p/ nao permitir o back do browser… no meu caso atendeu tranquilo. da uma busca no forum que e postei a solução a um tempo atras.

[]'s

Estou vendo que a floresta de araucária não vai sobreviver com essas pessoas que mal procuram.
Pena, talvez o mundo esteja fadado ao fracasso.

Até!

bom, ta ae:
http://www.guj.com.br/posts/list/43975.java

[]'s

[quote=maquiavelbona]Estou vendo que a floresta de araucária não vai sobreviver com essas pessoas que mal procuram.
Pena, talvez o mundo esteja fadado ao fracasso.

Até![/quote]

Eu já tinha pesquisado a respeito e já havia encontrado as informações que estão nos links que vc sugeriu. Porém, elas não resolvem meu problema por 2 motivos:

  1. As solicitações via location.replace(url) são get e, por questões de seguranca e pelo fato de minha aplicação ter urls mt grandes (method get tem limite no tamanho da url) tal solução não é viável.
  2. Eles tentam bloquear o back() dando um go(1) ao carregar a página, mas como disse em relação a ajax, se o usuário tentar voltar pra uma página que não foi minha aplicação que carregou, não haverá esse onload=“go(1);” e a aplicação não estará bloqueando o back() do navegador.

Mas valeu mesmo assim.

[quote=maquiavelbona]Estou vendo que a floresta de araucária não vai sobreviver com essas pessoas que mal procuram.
Pena, talvez o mundo esteja fadado ao fracasso.

Até![/quote]

Será que isto é necessário?
Poxa, se é tão irritante assim, ignore o tópico. Nao destrate os participantes do forum.

Att.

[quote=jgbt]bom, ta ae:
http://www.guj.com.br/posts/list/43975.java

[]'s
[/quote]

A sua solução é history.forward(); ? Se for, cai no mesmo caso do history.go(1); que, pelos motivos que expliquei acima, não resolve o problema :cry:

Mas pelo que li nos outros posts, é realmente impossível. Só podemos tentar controlar o que está nas páginas que nossa aplicação carregou. Quando perguntei, achei q talvez existisse alguma forma de impedir que o history.back() fosse chamado talvez usando a idéia de aspectos, mas já vi que não dá :cry:

vlwz.

[quote=nadilsons]…
Será que isto é necessário?
Poxa, se é tão irritante assim, ignore o tópico. Nao destrate os participantes do forum.

Att.

[/quote]
Desculpe se fui muito mal-educado, mas tem muita gente que nem se atenta a procurar, achando que o fórum é suporte grátis. Então, eu acho que preciso chamar um pouco de atenção para ver se consigo ajudar a mudar essa tendência.
Se procurar no fórum, verás que eu não escrevo isso sem motivos e que não sou o único que tem esse sentimento.

Até!

[quote=maquiavelbona][quote=nadilsons]…
Será que isto é necessário?
Poxa, se é tão irritante assim, ignore o tópico. Nao destrate os participantes do forum.

Att.

[/quote]
Desculpe se fui muito mal-educado, mas tem muita gente que nem se atenta a procurar, achando que o fórum é suporte grátis. Então, eu acho que preciso chamar um pouco de atenção para ver se consigo ajudar a mudar essa tendência.
Se procurar no fórum, verás que eu não escrevo isso sem motivos e que não sou o único que tem esse sentimento.

Até![/quote]

Porém, se leres minha resposta verás que diferente do que tu pensaste eu pesquisei sim e encontrei apenas informações como aquelas que tu também encontrastes. Informações que não serviram para o que eu estava precisando e, portanto, decidi abrir um tópico de discussão. Diferente de todos os outros, tu fostes o único que viu algum mal no que eu fiz. Se falastes aquilo por ter achado que eu não tinha pesquisado antes, agora sabes que estavas enganado e se fores humilde e tiveres o mpinimo de educação, saberás o que fazer (e eu também serei humilde para aceitar teus pedidos de desculpas)

[]'s

[quote=RafaelVS][quote=maquiavelbona]
Desculpe se fui muito mal-educado, …[/quote]
se fores humilde e tiveres o mpinimo de educação, saberás o que fazer (e eu também serei humilde para aceitar teus pedidos de desculpas)
[/quote] :shock: :?
[color=white]Com humildade assim, para que mensagem privada?[/color]

[quote=maquiavelbona][quote=RafaelVS][quote=maquiavelbona]
Desculpe se fui muito mal-educado, …[/quote]
se fores humilde e tiveres o mpinimo de educação, saberás o que fazer (e eu também serei humilde para aceitar teus pedidos de desculpas)
[/quote] :shock: :? [/quote]

Mas como tu destes quote no reply do nadilsons e pelo que entendi sobre o restante que tu escrevestes, achei que tu ainda estavas referindo-se a mim (entre outras pessoas) quando falastes sobre “gente que não pesquisa antes de postar”) :roll: