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

    [AS3] Non funzionano link in html usando gli eventi

    Ciao, ho un grosso progetto che devo finire a preve ma ho scoperto una cosa che mi ha sorpreso. Il progetto carica dati da xml e i contenuti sono in html.
    Ho isolato il problema usando un pezzo di codice (semplificato) in un nuovo documento.

    Problema:
    Potete dirmi perchè se ho un campo di testo visualizzato sullo stage e con dentro dell'HTML funziona del tutto mentre se lo visualizzo tramite l'evento del click (ho provato solo con questo evento) non funziona il tag <a>?

    Questo è il codice funzionante con solo il testo, basta un copia incolla (ovviamente avete bisogno di due immagini jpg chiamate immagine1.jpg e immagin2.jpg)
    Codice PHP:
    var stringa:String="[img]immagine1.jpg[/img]";
    stringa+="[img]immagine2.jpg[/img]";
    stringa+="bla bla [url='http://www.google.it']GOOGLE[/url] ";
    stringa+="bla
    bla
    bla
    bla
    bla
    [url='http://www.google.it']GOOGLE[/url] "
    ;
    stringa+="bla 
    bla 
    bla 
    bla 
    bla 
    bla 
    bla 
    "
    ;
    stringa+="[url='http://www.google.it']GOOGLE[/url]";
    var 
    testo:TextField=new TextField();
    testo.condenseWhite=true;
    testo.wordWrap=true;
    testo.multiline=true;
    testo.htmlText=stringa;
    testo.width=stage.stageWidth;
    addChild (testo); 
    Ora aggiungete questo codice (crea un pulsante e interagisce con il testo), vedrete che al click del mouse, quando appare il testo i tag <a> non funzionano più
    Codice PHP:
    testo.visible=false;
    var 
    button:MovieClip=new MovieClip();
    button.graphics.beginFill (0xF00);
    button.graphics.lineStyle (1,0x000);
    button.graphics.drawRect (0,0,150,20);
    button.graphics.endFill ();
    button.addEventListener (MouseEvent.CLICK,clicco);
    addChild (button);
    function 
    clicco (event:MouseEvent):void {
        
    testo.visible=true;

    Come mai?

    Ora cancellate la riga 2 di tutto il codice (stringa+="[img]immagine2.jpg[/img]"; )
    e vedrete che tutto funziona di nuovo anche con il pulsante...
    Come mai?

    Voglio farvi notare che se tenete solo il PRIMO blocco di codice che ho scritto e aggiungete questa riga i tag <a> non funzionano di nuovo più
    Codice PHP:
    testo.autoSize TextFieldAutoSize.LEFT
    Come mai?

    Avrei bisogno di questi chiarimenti poichè praticamente tutti i contenuti che carico hanno molto html con immagini, link ecc.

    Grazie.
    My site: www.andreaciani.com

  2. #2
    up
    My site: www.andreaciani.com

  3. #3
    up
    My site: www.andreaciani.com

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,780
    Ciao.

    Ho fatto qualche prova e funziona tutto perfettamente.

    E' possibile che pubblicando direttamente da flash vengano bloccati i link ad indirizzi web e anche cliccandoci non si abbia nessun risultato e non sia visualizzato nessun errore.
    Io ho comunque provato online e non riscontro nessun problema.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    Ciao KillerWorm! Innanzitutto grazie della risposta.

    Volevo dirti ma...hai provato proprio con ciò che ho consigliato di scrivere su flash? E ti ha funzionato sempre? Con l'aggiunta di più immagini, con l'aggiunta del align...Left?

    E' possibile che pubblicando direttamente da flash vengano bloccati i link ad indirizzi web e anche cliccandoci non si abbia nessun risultato e non sia visualizzato nessun errore.
    Se non erro tutto ciò che pubblichi da flash (l'swf) si dovrebbe comportare alla stessa maniera anche sul browser quindi se c'è un difetto eseguendo solo l'swf dovrebbe apparire anche sul browser :master:

    Per caso potresti postare ciò che ha te funziona così che possa fare un copia incolla e vedere se mi gira o meno? Non so più come sbatterci la testa...ho pensato al focus, agli indici di visualizzazione, al mouseChildren ma...boh...

    Ti ringrazio ancora, ciao ciao
    My site: www.andreaciani.com

  6. #6
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,780
    Ciao Flugger.

    ...hai provato proprio con ciò che ho consigliato di scrivere su flash? E ti ha funzionato sempre? Con l'aggiunta di più immagini, con l'aggiunta del align...Left?
    Ho fatto varie prove impostando lo script come hai indicato.
    Ho lasciato lo stage a 550x400pixel.
    Ho inserito due immagini provando con varie dimensioni. Con dimensioni elevate ovviamente il testo viene tagliato fuori, ma se i link risultano visibili sono comunque "regolarmente validi" (non dico "funzionanti" perchè questo dipende dalle regole di sicurezza).
    Sto provando su flash CS4 con impostazioni di pubblicazione AS3 e FP10.
    Ho testato con IE7 e FF3 su Windows xp

    - Pubblicando direttamente da flash mi viene eseguito normalmente il link a google e viene quindi aperta la pagina di google sul browser.

    - Se lo eseguo in locale su una pgina html, sia pubblicando direttamente da flash (con F12) sia impostando la pagina con swfobject, mi vengono giustamente bloccati i link a google, per cui cliccandoci sopra mi appare l'alert "Sicurezza di Adobe Flash Player" ecc..

    - Stessa cosa se lancio autonomamente il file swf. Mi blocca i link e mi appare l'alert.

    - Provando online non ho nessun problema, i link funzionano regolarmente e aprono la pagina di google.

    Se non erro tutto ciò che pubblichi da flash (l'swf) si dovrebbe comportare alla stessa maniera anche sul browser quindi se c'è un difetto eseguendo solo l'swf dovrebbe apparire anche sul browser
    Erri, esistono vari tipi di flash player e vari tipi di sandbox. L'esecuzione di un filmato e certi comportamenti, che riguardano in particolare le regole di sicurezza, risulteranno quindi differenti a seconda di dove questo filmato sia eseguito.

    Giusto per una panoramica più ampia dai uno sguardo a questo articolo (riguarda flash player 8 ma sostanzialmente gli argomenti sono validi anche per le ultime versioni)
    http://www.adobe.com/it/devnet/flash...curity_03.html

    In conclusione, se il tuo filmato è realizzato per essere un'applicazione web dovresti testarlo online all'interno di una pagina html.
    Questo perlomeno ti fa capire se il problema può essere relativo alle impostazioni di sicurezza o se dipende da altri eventuali fattori.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  7. #7
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,780
    Per caso potresti postare ciò che ha te funziona così che possa fare un copia incolla e vedere se mi gira o meno?
    Sì, scusa.. ti posto lo script.
    Io ho semplicemente aperto un nuovo documento su CS4 senza modificare nessuna impostazione e ho inserito lo script così come lo hai indicato sul post. Ho poi effettuato le varie modifiche che sono comunque risultate irrilevanti dato che non ci sono stati particolari problemi in nessun caso:

    codice:
    var stringa:String="[img]immagine1.jpg[/img]";
    stringa+="[img]immagine2.jpg[/img]";
    stringa+="bla bla GOOGLE ";
    stringa+="bla
    bla
    bla
    bla
    bla
    GOOGLE ";
    stringa+="bla 
    bla 
    bla 
    bla 
    bla 
    bla 
    bla 
    ";
    stringa+="GOOGLE";
    var testo:TextField=new TextField();
    testo.condenseWhite=true;
    testo.wordWrap=true;
    testo.multiline=true;
    testo.htmlText=stringa;
    testo.width=stage.stageWidth;
    addChild(testo);
    
    testo.visible=false;
    var button:MovieClip=new MovieClip();
    button.graphics.beginFill(0xF00);
    button.graphics.lineStyle(1,0x000);
    button.graphics.drawRect(0,0,150,20);
    button.graphics.endFill();
    button.addEventListener(MouseEvent.CLICK,clicco);
    addChild(button);
    function clicco(event:MouseEvent):void {
    	testo.visible=true;
    }
    
    testo.autoSize=TextFieldAutoSize.LEFT;
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

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.