Newsgroup: it.comp.lang.javascript
Titolo: [Aiuto] Onload

Ciao a tutti
Ho un problema con la funzione onload....
Ho una pagina HTML "inizio" divisa in frame in questo modo :
-------
<HTML>
<HEAD>
<TITLE>Titolone</TITLE>
</HEAD>
<FRAMESET ROWS="60,*,40">
<FRAME SRC="/servlet/testa" NAME="testa" SCROLLING="NO" NORESIZE>
<FRAMESET COLS="10%,*">
<FRAME SRC="/servlet/Menu?pMenu=P" NAME="menu" SCROLLING="NO" NORESIZE>
<FRAME SRC="/servlet/ParaEstr" NAME="principale" SCROLLING="SI"
NORESIZE>
</FRAMESET>
<FRAME SRC="/servlet/fondo" NAME="fondo" SCROLLING="NO" NORESIZE>
</FRAMESET>
</HTML>
------
Le pagine HTML richiamate nei frame "principali" hanno una struttura
simile a questa ("ParaEstr"):
-------
<HTML>
<HEAD>
<TITLE>Parametri di estrazione</TITLE>
<script SRC="/script/Util.js">
</script>
</HEAD>
<BODY onLoad="modMenu('"/servlet/Menu?pMenu=Estrai')">
<FORM ACTION="/servlet/Lista" METHOD="POST">
<INPUT TYPE="text" NAME="pcodice">
<INPUT TYPE="submit" VALUE="Esegui">
<INPUT TYPE="reset" VALUE="Annulla">
</FORM>
</BODY>
</HTML>
-----
Lo script Util.js è così composto:
------
// Util.js
//
function modMenu(qualeMenu){
 top.menu.location.href =qualeMenu;
}
function modPrincipale(qualePrincipale){
 top.principale.location.href =qualePrincipale;
}
----
La servelet "menu" non fa altro che preparare una pagina HTML in base al
parametro digitato:
<HTML>
<HEAD>
<TITLE>Menu</TITLE>
</HEAD>
<BODY>
<a><b> menu "qui finisce parametro"</b></a>
</BODY>
</HTML>
-----
In pratica ogni pagina caricata nel frame "principale" modifica il frame
"menu"  attraverso il tag
<BODY onLoad="modMenu('"/servlet/Menu?pMenu=Estrai')">.
La sequenza di navigaione è la seguente:
- richiamo la pagina "inizio"  ( in "principale" viene caricata
"paraestr" che aggiorna "menu")
- inserisco i parametri e faccio la submit del form ( in "principale"
viene caricata "Lista" che aggiorna "menu")
Il problema è che usando il pulsante "Indietro" sulla barra di Netscape,
quando sono nella pagina "Lista" anzichè anadre subito in "paraestr"
succedono le seguenti cose:
(premo "indietro")
- viene aggiornato "menu" con "estrai"
(premo ancora "indietro")
- viene aggiornato "principale" con "paraestr"
Da quello che vedo la funzione onload aggirona lo storico del
browser.....
C'e' un sistema per fare in modo che se premo "indietro" da "lista"  in
principale mi carichi subito "paraestr"???
Si può cancellare l'ultima riga di storico dopo aver fatto onload ???
Spero di essere stato abbastanza chiaro
Un grazie a tutti
    Dummy

 browser.....
Infatti, la History viene aggiornata dalle funzioni incluse nel .js
Spero di avere compreso bene la dinamica delle pagine, modifica il file incluso 
come segue e sappimi dire: 
------
// Util.js
//
function modMenu(qualeMenu){
 top.menu.location.replace(qualeMenu);
}
function modPrincipale(qualePrincipale){
 top.principale.location.replace(qualePrincipale);
}
----
il metodo "replace()" serve appunto a modificare la location di una pagina 
senza aggiornare la History.
Se non funziona come vuoi tu, prova ad usare replace() da qualche altra parte.
-- 
Ciao, Riccardo
------------------------------------------------------------------------
WebMaster: ----> 
http://www.jsdir.com
 <---- (aka 
http://www.jspoint.it
)
------------------------------------------------------------------------
               Nessun traguardo è abbastanza lontano.
------------------------------------------------------------------------

Ho provato a usare replace ma purtroppo non funziona.....
Non mi aggiorna più il frame 'menu'....
Se trovo una soluzione vi faccio sapere ...
Ciao