Newsgroup: it.comp.lang.javascript
Titolo: Apertura pagina contenuta in un frameset.

Vi espongo il mio problema:
La pagina a.htm č contenuta in un frameset, voglio che se uno carica la
pagina come collegamento non appaia solo la pagina ma tutto il frameset: la
pagina principale č divisa in "up" e "down", e quest'ultima č divisa in
"sx", "center"(dove dovrebbe andare appunto a.htm) e "dx".
Qualcuno ha qualche idea su come posso fare.
Grazie.

onload metti un qualcosa del tipo
if (top.location==document.location)
document.location='tuapaginaconframe.htm';

 document.location='tuapaginaconframe.htm';
ho messo:
<script language="Javascript">
if (top.location==document.location)
document.location='../../../home.htm';
</script>
Grazie, facendo cosě perň mi apre pagina principale, per aprire allo stesso
tempo la pagina a.htm nel frame "center" come devo fare.

 pagina come collegamento non appaia solo la pagina ma tutto il frameset.
Se esistono delle FAQ per questo newsgroup, questa dovrebbe figurare ai
primi posti perché è stata chiesta molte volte :-)
In tutte le pagine (tranne il frameset) metti il seguente script:
if (self.location == top.location)
{
 
window.name
 = 'frameURL=' + location.href;
    self.location.replace('index.htm');
}
dove index.htm è l'indirizzo del frameset. Puoi mettere lo script in un
qualunque punto della pagina, ma ti consiglio di metterlo all'inizio, così
viene eseguito subito. Lo script rileva se la pagina si trova nella finestra
principale, e in caso affermativo memorizza l'indirizzo nella variabile
window.name
 (che persiste tra una pagina e l'altra) e carica il frameset.
Nel tag head del frameset metti il seguente script:
function load()
{
    if (window.name.indexOf('frameURL=') != 0)
        return;
    self.frames['center'].location.replace(window.name.substring(9));
 
window.name
 = '';
}
e al tag frameset aggiungi l'attributo
onload="load()"
Lo script legge la variabile 
window.name
 e aggiorna il frame.
Unico inconveniente: lo script non funziona su Opera.
G. G.

 Unico inconveniente: lo script non funziona su Opera.
A questo punto non va.
Ecco come mi appare la pagina principale:
<html>
<head>
<title>Home</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="Javascript">
function load()
{
    if (window.name.indexOf('frameURL=') != 0)
        return;
    self.frames['up'].location.replace(window.name.substring(9));
 
window.name
 = '';
}
</script>
</head>
<frameset rows="40,*" frameborder="NO" border="0" framespacing="0" cols="*"
onload="load()">
  <frame name="up" scrolling="NO" noresize src="1/up.htm">
  <frame name="down" scrolling="NO" noresize src="1.htm" >
</frameset>
<noframes>
<body bgcolor="#FFFFFF" text="#000000">
</body>
</noframes>
</html>
Grazie.

Mi correggo, funziona.

metti subito dopo il tag head:
<head>
<script>
if(top.location==self.location){//se e' cosě, il documento non č nel frameset
top.location="
http://www.mysite.com/index.html
"}//carica la pagina con il
frameset
</script>
Dovrebbe andare, non c'č nemmeno bisogno che attendi l'onload. Spero di non
aver messo sviste, data l'ora
ciao
TrueLies
http://www.unitedscripters.com/
-- 
Posted from  [212.141.82.13] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG