Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    Inserire un frameset in una pagina

    Ciao a tutti!

    Vorrei far sì che una pagina normale venga automaticamente inserita in un frameset se non lo è già. Mi spiego meglio:
    ipotizzando di avere un frameset frame.html con due file f1.html e f2.html; vorrei evitare che un visitatore possa visualizzare solo f2.html. Quindi quest'ultima dovrebbe quindi contenere del codice (spero javascript, altrimenti sono nel forum sbagliato ) che la auto-inserisca nel file frame.html.

    Qualcuno ha qualche idea su come fare (se è possibile)?
    Grazie già da ora!

    Fabbio86

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    in tutte le pagine che temi vengano visualizzate fuori da frameset
    codice:
    if(self.name==top.name){
    	self.location.href="frameset.htm?"+((self.location.search!='')?self.location.search.substr(1)+'&':'')+"pagina="+document.URL;
    }
    nella pagina principale del sito (non parlo di quella in cui hai il frameset, ma della pagina principale contenuta in uno dei 2 frame)
    codice:
    if(top.location.search!=''){
    	pos=top.location.search.indexOf('pagina=')
    	if(pos>-1 && top.location.search.substr(pos+7)!=self.location.href){
    		self.location.replace(top.location.search.substr(pos+7));
    	}
    }
    if(self.name==top.name){
    	self.location.href='frameset.htm?'+((self.location.search!='')?self.location.search.substr(1)+'&':'')+'pagina='+document.URL;
    }
    dove frameset.htm e' chiaramente la pagina che contiene il <frameset>

    ciao

  3. #3
    Ciao!

    Grazie per la risposta!
    Con un frameset composto da 2 pagine funziona ottimamente!
    Purtroppo nel mio caso ho 3 pagine in un frameset e la pagina centrale viene visualizzata due volte. Inoltre se il file facente parte del frameset si trova in una sottocartella lo script non funziona... Potresti magari spiegarmi più in dettaglio cosa fa lo script oppure suggerirmi un modo per applicarlo al mio caso specifico?

    Grazie per la pazienza!

    Fabio

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da fabbio86
    Purtroppo nel mio caso ho 3 pagine in un frameset e la pagina centrale viene visualizzata due volte.
    in genere solo la pagina dei contenuti rimanda al frameset,
    le cornici non dovrebbero contenere lo script
    e cmq lo script che inizia con if(top.location.search!=''){
    deve trovarsi in un solo documento
    Inoltre se il file facente parte del frameset si trova in una sottocartella lo script non funziona...
    se non vado errato dovrebbe essere solo un problema di percorsi, in pratica se specifichi il percorso root-based cambia frameset.htm in /frameset.htm (se frameset.htm e' a livello di root)
    altrimenti specifica il percorso completo di frameset.htm
    http://www.tuosito.it/frameset.htm

    ciao

  5. #5
    Ciao!

    Ho risolto il problema del linkaggio dalle sottocartelle (ho inserito il path assoluto, come suggerivi). Resta però il problema delle tre pagine che non ho ben capito come dovrei risolvere.
    Il frameset è di questo tipo:
    codice:
    -------------------------
    |         top.html      |
    -------------------------
    |       |               |
    |       |               |
    |left.h |  main.html    |
    |  tml  |               |
    |       |               |
    |       |               |
    -------------------------
    Praticamente se lancio il file main.html singolarmente lui riporta la pagina al frameset in cui dovrebbe risiedere, ma main.html appare in top.html...
    Un'ultima domanda: cos'è esattamente la variabile "pagina" che passi in modalità GET?

    Grazie ancora

    Fabbio

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    pagina riporta al frameset l' url della pagina che main.htm si occupa di sostituire a se' stessa

    a occhio, se in top.htm ci fosse questo
    codice:
    // se il frameset ha la querystring
    // e la ha perche' main.htm deve prendere quel percorso
    if(top.location.search!=''){
    	pos=top.location.search.indexOf('pagina=')
    	if(pos>-1 && top.location.search.substr(pos+7)!=self.location.href){
    	
    	// anche top.htm si sostituisce con "pagina"
    	self.location.replace(top.location.search.substr(pos+7));
    	}
    }
    quindi, se hai messo questo script in top.htm rimuovilo
    ciao

  7. #7
    Ho inserito il codice, anzichè nel top, nel main. Lanciando una pagina p1.html, questa viene correttamente visualizzata nel frameset.
    Si presenta però un altro problema: :rollo:
    la pagina left.html contiene dei link ad altre pagine da visualizzare sempre in main e quindi mantenendo il frameset. Qualunque link io clicchi la pagina visualizzata risulta sempre essere p1.html... Dove sbaglio?

    Bye

    Fabbio

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    lascia il link alle pagine in questione

  9. #9
    :rollo: Diciamo che sto seguendo un percorso non proprio consigliato... Il frameset in realtà è un file .php che richiama altri file php... Ci sto lavorando in locale... Ho solo la Versione online che funziona correttamente. Magari può farti capire la struttura (spero!)
    Ah, vorrei far sì, ad esempio, che questa pagina così come questa pagina non potessero essere visualizzate senza frameset.


    Fabbio

  10. #10
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    scusa ma non ho tempo di ricostruire situazioni particolari
    (a stento ne ho x valutarne mentalmente)
    se riesci a farmi vedere in concreto quello che non va ok

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.