Newsgroup: it.comp.lang.javascript
Titolo: JSP e pulsante BACK del browser

Ciao a tutti,
ho un problemino con un progetto che sto mettendo in piedi per mio conto. In
estrema sintesi ho una Servlet che rimanda a diverse jsp (e da queste si
ritorna alla Servlet mediante dei button). Dato che c’è di mezzo
l’interrogazione ad un database, vorrei evitare che dalle jsp fosse possibile
tornare indietro alla jsp precedente mediante il pulsante “indietro” o “back”
del browser (quindi “saltando” la Servlet). Qualcuno ha un suggerimento?
(ovviamente se funziona per tutti i browser, tanto di guadagnato;-)
Grazie.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Ci sono dei Javascript + o - efficaci in giro. Ma nessuno che non possa
essere aggirato da un utente "scaltro".
Io nelle mie applicazioni web metto sempre un messaggio del tipo "se premi
back ti taglio le dita" oppure "premi back per formattare l'hard disk", o
altri messaggi intimidatori :)

Puoi utilizzare tra le due pagine, una che reindirizza a quella successiva.
In questo modo, tornando indietro, verresti immediatamente reindirizzato
alla pagina in cui ci si trovava.
Oppure usare nella prima pagina, il location.replace("nomepagina.jsp") che
ti reinvia alla pagina successiva senza aggiungere quella che stai navigando
nella history.
A presto!
--
Roberto e Alessandro Abbate
Moderatori di it.comp.www.html
http://www.Risorse.net
, 
http://MigliorHosting.it


Poichč sono interessato alla soluzione dello stesso problema,
potresti essere un po' piů chiaro per favore? il location.replace da quello
che dici dovrebbe essere messo nella seconda pagina oppure non ci ho capito
nulla?!?

 oppure non ci ho capito nulla?!?
Ciao,
    allora ipotizziamo di avere due pagine:
a.htm
b.htm
Voglio che da a.htm si arrivi a b.htm, ma che non si possa tornare indietro.
Esatto?
Abbiamo due soluzioni.
Vediamole una per volta: la prima, con un redirect.
Invece di passare da a.htm direttamente a b.htm, passa a intermezzo.htm. In
questo file inserisco un bel redirect automatico (il meta tag refresh) che a
0 secondi reinvii l'utente a b.htm.
Una volta arrivato a b.htm, se premo indietro, l'unico risultato sarà
aggiornare b.htm.
Il secondo: con Javascript usando replace.
Da a.htm, invece di richiamare b.htm come una normale pagina, utilizzo qlcs
di simile:
<A HREF='Javascript:location.replace("b.htm")'>Vai a b.htm</A>
In questo modo, a.htm non sarà aggiunta nella history (verrà proprio
rimpiazzata da b.htm).
Spero di essere stato esaustivo... cmq mi sa tanto che preparerò un articolo
ben fatto su questo caso, in modo da prevedere anche i casi in cui si
utilizzano <form>.
Non utilizzare a sproposito questi trucchi, ma solo se è strettamente
necessario, altrimenti si rischia di perdere l'utente perché infastidito da
questa pratica.


 Il secondo: con Javascript usando replace.


 browser serebbe in grigetto, disabilitato e non cliccabile.
credo si possa fare solo aprendo una nuova finestra
Kali

Ciao,
    con le Asp io farei cosě:
<form method="post-o-get" action="pagina.asp">
quando invio i dati a pagina.asp lei fa tutto quello che deve fare e poi,
invece di fare un response.write uso response.redirect "intermezzo.htm"
In questo intermezzo metto quel meta tag refresh che reindirizza ad una
nuova pagina, ipotizziamo moduloinviato.htm
Se da moduloinviato.htm volessi tornare indietro, non sarebbe possibile...
perché verrei reindirizzato nuovamente a moduloinviato.htm.
Visto che tu usi le Jsp, nella pagina che processa il form, finito tutto,
inserisci il redirect verso intermezzo.htm e in questo ci metti il meta tag
refresh vero l'ultima pagina.
Spero di essere stato chiaro (e soprattutto utile :)


 Spero di essere stato chiaro (e soprattutto utile :)
[comment mode on]
chiedo scusa a tutti i lettori di iclj ma avevo fatto follow-up solo su 
icj..... riposto!
[comment mode off]
a meno che l'utente non clicchi col destro sul back per saltare indietro 
di due pagine.... nel qual caso questa soluzione non funzionera'...
Kali

 funzionera'...
Beh sě a quel punto non funziona, a meno che tu non metti un controllo in
base al referrer su quella pagina... Se č uguale all'ultima pagina, la
b.jsp, allora torna a b.jsp, se no mostra a.jsp.
