Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    56

    variabile diversa secondo l’immagine cliccata

    Ciao a tutti, avrei bisogno di un aiutino :-)

    il mio dubbio è il seguente;

    partendo di una pagina xhtml dove voglio inserire 4 immagini a random della gallery (mediante uno javascript) vorrei trasmettere nel momento in cui si clicca su ogni immagine una variabile (diversa secondo l’immagine cliccata) ad un filmato flash.

    cioè se clicco su immagine1 invio una variabile pippo=1; si clicco su immagine2 pippo=2; ecc.

    Il mio proposito è fare partire la gallery che ho creato in flash caricando l’immagine selezionata in questo modo.

    Le immagini sono in un file xml esterno.

    Grazie ragazzi, aspetto vostri suggerimenti.
    Retorno

  2. #2
    per far comunicare js con flash nella stessa pagina ti devi riferire alla classe ExternalInterface.

    qui puoi trovare una spiegazione.


  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    56

    link a pagina diversa

    Ciao Eddie,

    ti ringrazio per il tuo intervento. Lo leggero con attenzione anche se non mastico tanto l’inglese.

    Vorrei però chiederti se questa classe è la più indicata anche nel caso si deva utilizzare caricando un'altra pagina.

    Mi spiego meglio, vorrei inviare la variabile in questione al click sull’immagine che dovrebbe linkare una pagina diversa ad esempio gallery.xhtml

    Grazie
    Retorno

  4. #4
    mmm..direi di no.

    però... ragioniamo.

    la pagina alla quale devi passare la variabile è una sola giusto?
    e in base alla variabile che la pagina riceve il filmato flash deve selezionare un file xml da cui recuperare i dati delle immagini che corrispondono all'immagine precedentemente selezionata, giusto?

    se è così io proverei in questo modo:

    metterei le 4 immagini iniziali in un form e con js passerei la variabile corrispondente alla pagina successiva.
    a quel punto farla caricare dal filmato flash non è un problema e in base al valore carico l'xml che mi serve.

    ho trovato questo articolo che, al punto 2, dovrebbe aiutarti ad implementare questa soluzione.

    http://www.boutell.com/newfaq/creating/scriptpass.html

    a me è venuto in mente questo, ma magari ci sono soluzioni migliori.

    ovvio che se disponi di linguaggi lato server cambia tutto.


  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    56

    script

    Grazie ancora, scusami ma ho avuto un pò di casino questa settimana.
    infatti la pagina è una sola, ma la variabile mi serve non per scegliere un file specifico xml bensì un nodo all’interno di un unico file xml.

    Quindi secondo te dovrei usare uno js per passare la variabile alla pagina successiva, cosi avevo pensato io, e poi una volta ricuperata la variabile forzare la carica del nodo giusto ( questo lo ho gia risolto)

    Mi manca pero il codice per inviare una variabile alla pagina successiva mediante js (credo di poterlo estrapolarlo del link che mi hai inviato, vero?), io non conosco tanto il javascript è questo il problema.

    Poi mi puoi dire il codice o dove trovarlo per inserire la variabile all’interno del flash?

    Abbi pazienza :master: :master:
    è un vero grattacapo per me

    Saluti
    Retorno

  6. #6

    passare valori con js a flash in pagine diverse

    allora... visto che non avevo mai utilizzato nello specifico questo metodo ma pensavo potesse funzionare, ho voluto provare ed è filato tutto liscio.



    per prima cosa ci serve la pagina html che contiene le tue immagini dalle quali ricavare il nome dell'xml da caricare.

    quindi fai un file html di nome firstPage.html con il seguente codice:

    Codice PHP:
    <html>
    <
    head>
    <
    head>
    <
    title></title>

    <
    script language="JavaScript" type="text/javascript">
    <!--
    function 
    sendData(galleryId) {
         
    window.location.href "flashPage.html?" galleryId;
    }
    //-->
    </script>
    </head>

    <body>

    [url="javascript:sendData('gallery1');"]go to page 2 passing gallery 1[/url]
    [url="javascript:sendData('gallery2');"]go to page 2 passing gallery 2[/url]
    [url="javascript:sendData('gallery3');"]go to page 2 passing gallery 3[/url]
    [url="javascript:sendData('gallery4');"]go to page 2 passing gallery 4[/url]

    </body>
    </html> 
    nel tuo caso basterà sostituire ai link testuali le immagini che ti servono.

    la funzione javascript sendData non fa altro che aggiungere all'url della pagina che raggiungerai un parametro sotto forma di query, diverso per ogni link cliccato, e andare a quella pagina.
    vedremo poi come recuperare e passare a flash questo parametro.

    a questo punto ci serve la pagina contenente l'swf.
    il nome della prima pagina non è importante, ma di questa si perchè deve corrispondere all'url raggiunto dal js nella pagina precedente.
    quindi fai una pagina html e chiamala flashPage.html con questo codice.

    Codice PHP:
    <html>
    <
    head>
    <
    head>
    <
    title></title>

    <
    script type="text/javascript" src="swfobject.js"></script>
    <script language="JavaScript" type="text/javascript">
    <!--
        var query = window.location.search; 
        
        if (query.substring(0, 1) == '?') {
            query = query.substring(1);
        }
        //document.write(query);
    //-->
    </script>

    </head>

    <body>

        <div id="flashcontent"></div>
            <script type="text/javascript">        
            var so = new SWFObject("gallery.swf", "gallery", "260", "240", "9", "black");
            so.addVariable("xmlNode", query);
            so.write("flashcontent");
            </script>

    </body>
    </html> 
    il metodo utilizzato per inserire l'swf nell'html è l'swfObject, attraverso il quale è molto semplice passare variabili alla _root del flash contenuto nella pagina.

    il javascript di questa pagina non fa altro che recuperare con una substring dall'url la variabile query, che è proprio il valore che serve al nostro swf.

    a questo punto il gioco è fatto.

    con questa riga

    so.addVariable("xmlNode", query);

    passo alla _root dell'swf una variabile di nome xmlNode a cui assegno il valore della variabile query, che proviene dalla prima pagina.

    in flash la variabile è _root.xmlNode e assumerà il valore di gallery1, gallery2 etc a seconda del link cliccato nella prima pagina e a quel punto la utilizzerai come meglio credi per selezionare il nodo del tuo xml.


    puoi trovare tutto qui


    spero di essere stato chiaro.


  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    56
    Grazie!

    sei stato da vero esauriente! proverò subito con i codici che mi hai indicato e ti farò sapere.

    Vorrei pero chiederti un'ultima cosa, visto che come vedo conosci bene gli js... secondo te può esistere qualche problema di sicurezza trasmettendo una variabile sulla stringa dell’url con questo sistema?

    Intendo come può succedere nel caso dell’utilizzo di un linguaggio server tipo php.

    Saluti
    Retorno

  8. #8
    non direi che ci siano problemi di sicurezza, anche perchè i dati che passi in questo caso non sono molto sensibili, però in altri casi non sarebbe una grande idea visualizzare il valore delle variabili nell'url

    fammi sapere se va tutto bene.


  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    56

    funziona benissimo

    Ciao Eddie, tutto a posto funziona benissimo

    l’unica cosa è che in questo pezzetto di codice:
    var so = new SWFObject("gallery.swf", "gallery", "260", "240", "9", "black");

    ho dovuto inserire invece che il 9 il 0 per che funzionassi anche sulla mia versione di Firefox
    cosa stabilisce il 9? un livello?

    Poi, ho una curiosità, il file js serve anche a capire se nel browser è stata istallata la versione giusta di flash?

    grazie tante, sei stato molto gentile.
    Retorno

  10. #10

    Re: funziona benissimo

    Originariamente inviato da retorno
    Ciao Eddie, tutto a posto funziona benissimo

    l’unica cosa è che in questo pezzetto di codice:
    var so = new SWFObject("gallery.swf", "gallery", "260", "240", "9", "black");

    ho dovuto inserire invece che il 9 il 0 per che funzionassi anche sulla mia versione di Firefox
    cosa stabilisce il 9? un livello?

    Poi, ho una curiosità, il file js serve anche a capire se nel browser è stata istallata la versione giusta di flash?

    grazie tante, sei stato molto gentile.
    Retorno
    bene, mi fa piacere.

    il 9 indica la versione richiesta del flash player affinchè il filmato venga visualizzato.
    se pubblichi per flash versione 8 puoi inserire 8 etc.

    per la curiosità, si il file js serve anche per capire che versione hai installato.

    sono contento che hai risolto.
    alla prossima.



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.