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

    Passaggio variabile da SWF a SWF

    Mi servirebbe passare una variabile da un SWF ad un altro SWF.
    Ora, se i due SWF sono nella STESSA pagina HTML posso eseguire il seguente codice:


    NEL PRIMO SWF (codice associato ad un pulsante):

    on (release)
    {
    miavariabile=17
    spedisci = new LocalConnection();
    spedisci.send("pronto", "metodo", miavariabile);
    delete spedisci;
    }


    NEL SECONDO SWF (codice posto nel primo frame della timeline):

    conn = new LocalConnection();
    conn.metodo = function (param)
    {
    totalone.text = param;
    }
    conn.connect("pronto");


    dove "totalone" è un campo di testo nel quale viene stampata la variabile "miavariabile".



    Fin qui tutto bene: il codice funziona perfettamente e premendo il pulsante nel primo SWF la variabile viene passata al secondo SWF.

    Ora il mio problema è: se il secondo SWF si trova in una seconda pagina HTML come faccio a passare la variabile??
    Where there is a will, there is a way

  2. #2
    Mi sembra che tu abbia già postato un thread + o - simile a questo e credo di averti già passato un link al riguardo.
    Comunque ora ti passo il link dell'intera guida sull'interazione tra Flash e Javascript (e viceversa):
    http://flash-mx.html.it/guide/lista_....asp?idguida=8

    Sono sicuro che, se avrai la pazienza di leggerla attentamente, troverai il metodo che fa per te.

    In ogni caso, un sistema potrebbe essere il seguente (sta poi a te svilupparlo):
    1) dal primo filmato richiamo la pagina (getURL) che contiene il secondo, appendendo all'URL la variabile, p.es.:
    getURL("paginadue.html?par="+param);
    dove param è la variabile che contiene il valore da passare al secondo filmato

    2) nella pagina due inserisco una routine Javascript che mi estrapola tale variabile dall'intero URL ponendone il valore in un'altra variabile, p.es. parametro

    3) nel codice di incorporamento di Flash della pagina due, appendo un richiamo a detta variabile parametro, tipo:
    <object ...>
    <param name=movie value="movie.swf?variabile=parametro">
    <param ...>

  3. #3
    Mmm.. anche se per il secondo punto non ho idea di come fare, ti ringrazio di tutto!
    Where there is a will, there is a way

  4. #4
    Per il codice Javascript da inserire nella "pagina due" puoi scrivere (fra i tag <HEAD> ... </HEAD> qualcosa del tipo:
    codice:
    <script language="JavaScript" type="text/JavaScript">
      var Locaz = new String(document.location);	// crea una stringa contenente l'URL
      var len = eval(Locaz.length);			// lunghezza stringa
      var pos = eval(Locaz.lastIndexOf("?") + 1);	// posizione "?"
      var URLimg = Locaz.substring(pos, len); 	// URL del parametro
    </script>

  5. #5
    grazieeee... ora provo
    Where there is a will, there is a way

  6. #6
    fammi sapere il risultato delle tue prove,
    anche ad uso di tutto il Forum,
    grazie.

  7. #7
    dunque, ho provato a passare una variabile "miavariabile=17" alla pagina 2.


    ---> PASSO 1


    Ho associato al pulsante nel primo swf nella pagina1.htm il codice:

    on (release)
    {
    getURL("pagina2.htm?miavariabile=17");
    }

    In questo modo, premendo il pulsante viene aperta la pagina 2 e l'URL risulta giustamente modificato con l'aggiunta (alla fine) di "?miavariabile=17"




    ---> PASSO 2

    Ora, ho modificato l'html nella pagina 2 aggiungendo tra <HEAD> e </HEAD>:

    <script language="JavaScript" type="text/JavaScript">
    var Locaz = new String(document.location);
    var len = eval(Locaz.length);
    var pos = eval(Locaz.lastIndexOf("?") + 1);
    var URLimg = Locaz.substring(pos, len);
    </script>

    ( URLimg cosa rappresenta?? dove metto "miavariabile" ?? )



    e modificando la riga:

    <param name="movie" value="test2.swf">
    così:
    <param name="movie" value="test2.swf?variabile=miavariabile>



    Ricordo che nel secondo swf è presente un campo di testo chiamato "totale", e nel primo frame della timeline è presente il codice "totale.text=variabile").
    Come risultato ottengo che compare la scritta "miavariabile" nel campo di testo...sigh!
    Where there is a will, there is a way

  8. #8
    PASSO 1
    Mettiamo che nel 1° swf la variabile da passare si chiami param
    codice:
    on (release) 
    { 
        getURL("pagina2.htm?param"); 
    }
    PASSO 2
    codice:
    <script language="JavaScript" type="text/JavaScript">
      var Locaz = new String(document.location); // crea stringa con l'URL
      var len = eval(Locaz.length);		// lunghezza stringa
      var pos = eval(Locaz.lastIndexOf("?") + 1);  // posizione "?"
      var theVar = Locaz.substring(pos, len);  // parametro
    </script>
    PASSO 3
    codice:
    <param name="movie" value="test2.swf?variabile=theVar>

  9. #9
    Nada: ottengo "theVar" nel campo di testo...



    P.S:

    per il GetURL ho messo:
    getURL("pagina2.htm?param="+param)

    l'URL che mi compare è:
    http://localhost/nuovotest/pagina2.htm?param=17

    Può essere che per qualche motivo non leggo i JavaScript?
    Where there is a will, there is a way

  10. #10
    scusami, errore mio...
    codice:
    on (release) 
    { 
        getURL("pagina2.htm?"+param); 
    }
    poi, nella fase 3, manca un altro Javascript

    più tardi provo a prepararlo...

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.