Newsgroup: it.comp.lang.javascript
Titolo: Caricamento frame, sto diventando scema. Aiuto!

Sto impazzendo da un mese per cercare di risolvere un problema di importanza
quasi vitale per il mio sito.
Non conosco jscript, ma ho comunque fatto mille tentativi, senza risultato,
ovviamente... :(,  ho già scritto  all'inizio dell'avventura, ma credo
proprio di essermi spiegata male, ci riprovo ora, cercando di essere più
chiara e  sperando che qualcuno tra voi esperti mi aiuti a risolvere
l'enigma.
Il problema è questo:
ho realizzato il mio sito utilizzando dei frames, ora vorrei poter
determinare un indirizzo da assegnare a un link che aprisse la mia pagina
con determinati frames attivi, che non siano necessariamente quelli
predefiniti, come si può fare?
Quando accedo all'indirizzo in questione si aprono i frames come da me
voluto:Frame01 (carica la pagina "intestazione.htm"),  Frame02 (carica la
pagina "menu.htm"), e Frame03 (carica la pagina "centrale.htm").
Io vorrei che cliccando su un link mi potessi trovare il Frame01 e il
Frame02 uguali (e quindi "intestazione.htm" nel frame01  e "menu.htm" nel
Frame02), ma nel Frame03 vorrei che potesse caricarsi la pagina
"prova.html", o un'altra a seconda del caso, al posto di quella predefinita
( che è "centrale.htm").
In altre parole: come faccio tramite un  link definito in un'altra pagina a
caricare il frameset in modo che il Frame01 visualizzi la pag. predefinita
"intestazione.htm", il Frame02 visualizzi la pag. predefinita "menu.htm" ma
il Frame03 anzichè la pagina predefinita "centrale.htm" carichi ad esempio
"prova.htm"?
Un grazie infinito e direi già quasi commosso a chi vorrà aiutarmi, M@rzia
:)

 "prova.htm"?
Basta caricare un frameset "standard" e poi modificare la pagina voluta 
leggendo il nome della pagina che gli hai passato dalla pagina "prima" del 
frameset.
Mi spiego meglio.
Questa pagina sarà la pagina "prima":
<HTML>
</HEAD>
<BODY BGCOLOR="#ffffff">
<A HREF="frameset.htm">Liscia</A> <BR> <BR>
<A HREF="frameset.htm?prova">Gassata</A>
</BODY>
</HTML>
Come vedi il primo link ("Liscia") è alla pagina "frameset.htm" che contiene il 
tag <FRAMESET ... > .
Nel secondo link, invece, dopo il documento frameset c'è un'aggiunta: "?prova".
Ora guarda questa pagina, che è quella che genera il frameset:
<HTML>
<HEAD>
<SCRIPT>
<!--
function modifica()
	{
	pagina=location.search.substr(1);
	if (pagina=="prova")
		centrale.location="prova.htm";
		else
		centrale.location="centrale.htm";
	}
//-->
</SCRIPT>
</HEAD>
<FRAMESET  COLS="26%,*" onLoad="modifica()">
    <FRAME NAME="menu" SRC="menu.htm">
    <FRAMESET  ROWS="24%,*">
        <FRAME NAME="intestazione" SRC="intestazione.htm">
        <FRAME NAME="centrale" SRC="about:blank">
    </FRAMESET>
</FRAMESET>
</HTML>
Come vedi ho simulato un frameset con una colonna a sinistra a tutta altezza, 
mentre quella sulla destra è spezzata in due righe (configurazione classica).
A sinistra e sopra carico le pagine che hai detto tu (menu.htm e 
intestazione.htm), mentre nel frame di sotto (<FRAME NAME="centrale"  
SRC="about:blank">) carico il documento vuoto predefinito.
Nel tag del <FRAMESET ... > c'è un event-handler (onLoad) che scatta quando il 
frameset, nella configurazione predefinita, è caricato, cioè quando menu ed 
intestazione sono caricati.
La funzione legge il parametro passato alla pagina frameset.htm
Se gli hai passato il parametro "prova" allora caricherà "prova.htm" nel frame 
centrale, altrimenti carica la pagina che tu vuoi sia predefinita, cioè 
"centrale.htm".
Spero sia tutto chiaro, ciao ciao.
-- 
Ciao, Riccardo
------------------------------------------------------------------------
WebMaster: ----> 
http://www.jsdir.com
 <---- (aka 
http://www.jspoint.it
)
              All the JavaScript you need
------------------------------------------------------------------------
               Nessun traguardo è abbastanza lontano.
------------------------------------------------------------------------

 :)
Puoi passare l'indirizzo della pagina da caricare nella querystring e
poi recuperarlo nel frameset dopo il caricamento del frameset stesso.
Per evitare che venga sempre caricata anche centrale.htm conviene
utilizzare come pagina predefinita una pagina vuota vuota.htm
Collegamento:
<a href="paginaFrameset.htm?prova.htm"
codice da aggiungere al frameset:
-------------------------------------
<script language="javascript">
function carica(){
    pagina=window.location.search;
    pagina= (pagina!="")? pagina.substring(1):"centrale.htm";
    window.frames.Frame03.location=pagina;
}
</script>
<FRAMESET ............................. onLoad="carica()">
..................
<frame name="Frame03" src="vuota.htm"
-------------------------------------------------
Saluti, Paolo