Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Pagina web con IFRAME

Hai problemi con i file Zip, vuoi formattare l'HD, non sai come funziona FireFox? O magari ti serve proprio quel programmino di cui non ricordi il nome! Ecco il forum dove poter risolvere i tuoi problemi.

Moderatori: Dylan666, hydra, gahan

Pagina web con IFRAME

Postdi emalatesta » 28/12/03 14:50

Ciao a tutti ed ancora tanti auguri!

Ecco il mio problema:

una pagina web (es. main.htm) con al suo interno un iframe ceh contiene un'altra pagina web (es. iframe.htm).

Main.htm carica la grafica ed il layout, mentre ifrae.htm e' il documento vero e proprio.

Se accedo al sito da main.htm tutto bene, ma se, ad esempio, il motore di ricerca mi rimanda a iframe.htm il problema e' che, ovviamente, si carica il solo documento menrte tutto il resto e' ignorato.

Cio' che mi serve e' uno script interno a iframe.htm che controlli quanto sopra, e, nel caso, mi permetta di caricare nella finestra del browser la pagina main.htm.
Io sono riuscito ad ottenere solo loop infiniti di pagine che vengono caricate in continuazione.

NOTA: non so programmare in Jscript, ne' in VB, ma ho provato a smanettare questo script che ho trovato in rete, purtroppo senza successo (inerito tra i tag HEAD di iframe.htm):

<script>
if(self.name==top.name){
location.href="main.htm"
}
</script>

Chi sa darmi una luce?

Grazie.
Enrico Malatesta
emalatesta
Utente Senior
 
Post: 182
Iscritto il: 27/08/01 01:00

Sponsor
 

Postdi Dylan666 » 28/12/03 14:58

Prova inserendo questo script nelle pagine "figlie"

Codice: Seleziona tutto
if (top == self || (parent.frames[1].name != myframeset))
    top.location.href = 'main.htm?' + location.href;
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Postdi Dylan666 » 28/12/03 15:01

Quella è la "pratica", x la teoria guarda http://tech.irt.org/articles/js126/index.htm
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Postdi Dylan666 » 28/12/03 15:32

Un attimo ke sono stato poco kiaro e forse ho dato un po troppe cose x scontate:

Nella magina "contenitore" devi scrivere:

Codice: Seleziona tutto
<html><head>
<title>Pagina di redirect </title>
<script type="text/javascript" language="JavaScript">
document.write('<frameset cols="15%,*" frameborder="NO" border="0" framespacing="0" rows="*">');
document.write('<frame src="main.htm" NAME="myframeset">');
document.write('<frame src="' + (location.search ? unescape(location.search.substring(1)):'inizio.htm') + '">');
document.write('<\/frameset>');
</script>
</head></html>


inizio.htm è la pagina visualizzata nel caso si entri dal sito partendo dalla pagina iniziale.

Quella con il layout d navigazione deve kiamarsi nel nostro caso main.htm, e nella pagine ke devono d volta in volta cambiare scrivi:
Codice: Seleziona tutto
</script>
if (top == self || (parent.frames[1].name != myframeset))
    top.location.href = 'index.htm?' + location.href;
</script>

[/code]

Naturalmente il mio è solo un esempio, poi le dimensioni e i tipi d frame (orizzontali o verticali) li cambi come vuoi. Se hai ancora dubbi kiedi pure ;)
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Postdi Dylan666 » 28/12/03 16:57

Naturalmente sopra c'è un errore d battitura xké ho scritto 2 </script> mentre quello iniziale deve essere senza la / :oops:
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Postdi Dylan666 » 28/12/03 17:58

Mi sono accorto ora ke tu hai bisogno d un IFRAME e nn di un frame normale... Il mio esempio allora va un po' rielaborato :D Cmq il mio script rispetto al tuo ha il vantaggio ka fa ricaricare tutte le pagine in cui è inserito all'interno di uno stesso frame; Come fai tu invece la pagina "figlia" lancia la pagina "madre" e quest'ultima ha scritto dentro se stessa quale frame cn nome FISSO deve contenere... mi spiego?

X farla breve il mio metodo essendo più dinamico permette a 100 figlie d essere contenute nella stessa madre, mentre col tuo c deve essere un genitore x ogni figlio ;) Ma se tu devi lavorare su una singola pagina il "tuo" script va modificato così:

Codice: Seleziona tutto
<SCRIPT language=JavaScript>
if(window.location.href==top.location.href){location.href="main.htm"}
</SCRIPT>


X tutti i kiarimenti possibili mi trovi qui ;)

Scusate mods, giuro ke nn posto più così tante volte d fila solo io :lol:
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Postdi emalatesta » 29/12/03 12:43

Grande Dylan.666.
Hai capito esattamente il mio problema e la tua soluzione e' OK!!!! :lol:

Spero, se il tempo me lo permettera', di entrare a dare una sbirciatina nel mondo di quelli che conoscono il codice Jscript (al momento lo intuisco, al caso lo modifico e lo adatto , ma purtroppo mi mancano alcune basi :cry: ). A suo tempo non mi era andata male con dbase e clipper, ma e' acqua passata.

Se proprio non dovessi avere tempo (e voglia, perche' anche quella e' MOLTO importante), potrebbe essere un obiettivo per quando andro' in pensione (se ci arrivo :D ).

Grazie ancora e tanti auguri per uno splendido 2004 a tutti i membri del forum!
Enrico Malatesta
emalatesta
Utente Senior
 
Post: 182
Iscritto il: 27/08/01 01:00


Torna a Software Windows


Topic correlati a "Pagina web con IFRAME":


Chi c’è in linea

Visitano il forum: Nessuno e 12 ospiti