Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    richiamare una variabile

    Ciao a tutti, chi mi puo' aiutare con il seguente problema?

    ho una pagina di frameset dove creo 3 frame (testata, menu e navigazione) e dove richiamo un file javascript (intro.js) al cui interno ho una variabile inizializzata a 0.

    All' interno del frame menu, caricherò di volta in volta delle pagine e da dentro questi file devo richiamare la variabile che si trova dentro intro.js.

    ho provato con top.nomevariabile ma non mi funziona

    E' una cosa fattibile? O devo includere il file intro.js in ogni mia pagina html?

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    La cosa e` fattibile ed il procedimento corretto.

    Ma per chiarezza riassumo:

    [[ file: frameset ]]
    <head>
    ...
    <script type="text/javascript" language="Javascript" src="intro.js"></script>
    </head>
    <frameset rows="XX,*" ...>
    <frame name="testata" ...>
    <frameset cols="YYY,*" ...>
    <frame name="menu" ...>
    <frame name="navigazione" ...>
    </frameset>
    </frameset>
    [[ /frameset ]]

    [[ file: intro.js ]]
    var nomevariabile = 0;
    ...
    ...varie funzioni ...
    [[ /intro.js ]]

    Dentro uno dei file contenuti in uno dei frame, indirizzi la variabile con:
    top.nomevariabile = 1; // attenzione: qui non c'e` un var davanti al nome

    e la leggi con:
    alert("nomevariabile = "+top.nomevariabile);

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    non mi funziona

    cmq questo e' il mio problema piu nello specifico;

    all' interno del file intro.js ho il seguente codice:

    [intro.js ]

    macmon = new Object();
    macmon.mod = new Array ();
    macmon.mod[0] = new Object ();
    macmon.mod[0].pag = new Array ();
    macmon.mod[0].pag[0]= 0;
    macmon.mod[0].pag[1]= 0;
    macmon.mod[0].pag[2]= 0;
    macmon.mod[0].pag[3]= 0;

    [/intro.js]

    Sulla pagina1 html, contenuta nel frame menu, all' interno del body metto macmon.mod[0].pag[0]= 1 in questa maniera :

    [pagina1.html]

    onload="javascript:top.macmon.mod[0].pag[0]= 1"

    [/pagina1.html]



    proseguendo poi con pagina2.html

    [pagina2.html]

    onload="javascript:top.macmon.mod[0].pag[1]= 1"

    [/pagina2.html]

    e cosi via, ma caricando ogni file mi segnala il fatto che top.macmon.mod e' nullo o non e' un oggetto

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Come dire che stai facendo un passo doppio. Ti conviene spezzare i problemi ed affrontarli uno alla volta.

    Comunque macmon non e` una funzione, e non ha senso richiamarla in ogni pagina; e` da considerare come una varibile.

    Ti conviene prima fare le prove con una variabile semplice, in modo da verificare se funziona.

    La variabile va definita (e se vuoi inizializzata) nello script che richiami dal frameset, poi puo` essere usata in qualsiasi documento, con la accortezza di farne precedere il nome da "top." .

    Vedi l'esempio che ti ho fatto nel post precedente.

    Nota: se vuoi settare una varibile all'evento onload di un documento, la sintassi corretta e`:
    <body ... onload="top.NOMEVARIAB=VALORE;"

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