Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    42

    parent.frame non riconosciuto

    Credo che con questo post mi beccherò un po di insulti, comunque cercherò di farmi capire.

    Allora parto da una finestra di explorer, clic su un link e apro una pop-up con window.open.
    In questa pagina ho un link ("apri_frame") che mi manda ad un'altra pagina che contiene un frameset (testata, menu a sinistra e main al centro).

    Questo link "apri_frame" in realtà prima di aprire la pagina dei frame richiama una funzione contenuta in un file.js che mi calcola il valore di una variabile "var" che devo far visualizzare tramite innerHTML in uno <span> indicizzato come "corpo" nel menu a sinistra.

    Tutto funziona finchè non vado a far visualizzare la variabile, ho dato un nome al frame e gli ho scritto nel file.js l'istruzione "parent.frame_menu.corpo.innerHTML=var" però mi dice sempre che "parent.frame_menu.corpo" è nullo o non è un oggetto.

    Immagino che il problema sia nell'istruzione di visualizzazione della variabile ma non so dove!

    Premetto che ho fatto tutti i controlli del caso e non ci sono problemi al di fuori di questa variabile... help!
    Dio c'è... e gioca col numero 10!
    C'è solo un capitano!

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Troppe finestre. Mi sono perso.
    Non e` che puoi fare uno schema con le varie finestre e documenti contenuti? (e tieni ben chiaro cosa e` una finestra e cosa un documento o pagina).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    42
    proviamo:

    - finestra standard di explorer

    --> clic su "apri_pop_up"

    --> nuova finestra di pop up con una pagina singola.

    --> clic su "apri_frame"

    --> chiamata alla funzione "setta()" inclusa in un file .js

    --> la funzione "setta()" fa tre cose:

    1 - mi calcola il valore di una variabile "var"
    2 - chiama la pagina con i frame con "document.location=frame.htm";(la pagina frame.htm mi richiama, sempre nel popup aperto prima, i tre frame testata superiore, menu a sinistra e main al centro.)
    3 - visualizza la variabile var nel frame menu di sinistra,che ho chiamato "frame_menu", con questa istruzione "parent.frame_menu.corpo.innerHTML=var" che però non funziona...
    mi dice che "parent.frame_menu" è nullo o non è un oggetto.

    Spero di essere riuscito a spiegarmi.
    Grazie
    Dio c'è... e gioca col numero 10!
    C'è solo un capitano!

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ancora non riesco a seguirti.
    Tieni presente che tu probabilmente hai tutto presente, ma chi ti vuole aiutare deve farsi un'idea dell'insieme, altrimenti i puntatori che si devono usare sballano.

    Provo a riassumere.
    Finestra normale "A".
    In questa finestra c'e` una pagina "p".
    da "p" apri una nuova finestra "B" con una pagina normale "q"
    da "q" apri ... cosa? un frameset "f" che sta in "B"?
    Tale frameset contiene tre frame? "G", "H", "J" ?
    La funzione "setta()" sta in una pagina. Dove sta tale pagina?

    "var" non puo` essere il nome di una variabile (parola riservata)

    Questo schema puoi modificarlo, magari con i nomi tuoi (anziche` A, B, C, ...), che per te risultano piu` semplici.
    I vari punti della funzione devono riferirsi a tale schema.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    42
    ok!

    -----
    Finestra normale "A".
    In questa finestra c'e` una pagina "p".
    da "p" apri una nuova finestra "B" con una pagina normale "q"
    da "q" apri ... cosa? un frameset "f" che sta in "B"?
    Tale frameset contiene tre frame? "G", "H", "J" ?
    ----

    fin qui tutto giusto, anche se il frameser "f" viene chiamato dalla funzione setta() dopo che mi ha calcolato la variabile.

    poi:
    - la funzione setta() sta in un file .js che includo nelle pagine.
    - la variabile in realà si chiama "percorso", l'ho chiamata var per cercare di far capire meglio.
    Dio c'è... e gioca col numero 10!
    C'è solo un capitano!

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    - la funzione setta() sta in un file .js che includo nelle pagine.
    In quali pagine? E` importante, perche` i puntatori partono da tale pagina.

    --> la funzione "setta()" fa tre cose:

    1 - mi calcola il valore di una variabile "percorso"
    2 - chiama la pagina con i frame con "document.location=frame.htm";(la pagina frame.htm mi richiama, sempre nel popup aperto prima, i tre frame testata superiore, menu a sinistra e main al centro.)
    3 - visualizza la variabile "percorso" nel frame menu di sinistra,che ho chiamato "frame_menu", con questa istruzione "parent.frame_menu.corpo.innerHTML=var"
    In questa descrizione devi usare gli stessi nomi che hai usato nello schema (o viceversa), altrimenti e` come parlare due lingue diverse.

    document.location non esiste.
    Esiste window.location, ma nel tuo caso occorre farlo precedere da altri oggetti, che dipendono dalla struttura dei puntatori relativi delle finestre.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    42
    il file .js lo includo in tutte le pagine perchè pensavo di utilizzarlo come libreria di funzioni.
    la funzione setta() viene chiamata dalla pagina "q".

    --> la funzione "setta()" fa tre cose:

    1 - mi calcola il valore di una variabile "percorso"
    2 - chiama la pagina con i frame "f" sempre nella finestra "B" con "document.location=frame.htm";(la pagina frame.htm mi richiama, sempre nella finestra "B", i tre frame testata superiore "G", menu a sinistra "H" e main al centro "J".)
    3 - visualizza la variabile "percorso" nel frame menu di sinistra "H",che ho chiamato "frame_menu", con questa istruzione "parent.frame_menu.corpo.innerHTML=percorso"


    ...Mich_ grazie per la pazienza! :rollo:
    Dio c'è... e gioca col numero 10!
    C'è solo un capitano!

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non ha senso includerlo in tutte le pagine.

    Puoi includerlo nel frameset, oppure in tutte le pagine che stanno in una determinata finestra / frame.

    E comunque a seconda di dove lo includi il codice cambia (cambiano i riferimenti alle varie finestre).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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 © 2025 vBulletin Solutions, Inc. All rights reserved.