Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1
    Utente di HTML.it L'avatar di piaza
    Registrato dal
    Oct 2003
    Messaggi
    131

    Problema onLoadInit SWF Remoto

    Salve,
    vado subito al punto:
    A
    • main.swf carica tramite loadClip un file swf che risiede su amazon (dominio diverso da quello del file richiedente)
    • è presente un file crossdomain.xml con policy esatte
    • il file viene caricato (lo vedo nelle attività di Safari)
    • nella funzione onLoadInit() è presente questo actionscript target.create(id) (dove target è il movieclip caricato)
    • la funzione non viene mai eseguita


    Ho quindi lanciato staticamente dal file caricato la funzione create(id):
    B
    • nel file caricato è presente questo codice
    import mx.transitions.Tween;
    import mx.transitions.easing.*;
    var tween:Tween = new Tween(mc, "_yscale", Strong.easeOut, 100, 0, 0.5, true);

    • l'animazione non viene mai eseguita



    Se i file stanno sullo stesso server tutto funziona (A e B). Non capisco il perché di queste anomalie.... non credo possa essere un problema di Policy dato che non ho nessun errore e il file viene caricato!!
    Dopo 20 ore di smanettamento ora .
    "Possono recidere tutti i fiori, la Primavera arriverà"

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

    Io credo invece che sia proprio una restrizione di sicurezza.

    Se non ho capito male dal filmato A vuoi richiamare una funzione del filmato B..
    Cioè da A stai accedendo a B..
    In questo caso in B dovrai permettere l'accesso di A..
    Ovvero nel filmato B ci dovrà essere questo script:
    codice:
    System.security.allowDomain("dominio del filmato A")
    Dove ovviamente devi specificare il dominio del filmato che accede, cioè A.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Utente di HTML.it L'avatar di piaza
    Registrato dal
    Oct 2003
    Messaggi
    131
    Lo credevo anch'io finché non ho messo System.security.allowDomain("dominio del filmato A") nel filmato B e nulla è cambiato!!
    "Possono recidere tutti i fiori, la Primavera arriverà"

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


    E' comunque un problema id crossdomain

    Magari fai giusto un'altra prova.. imposta l'accesso ad entrambe i domini

    Nel filmato A metterai:
    codice:
    System.security.allowDomain("dominio del filmato B")
    ..e viceversa nel filmato B:
    codice:
    System.security.allowDomain("dominio del filmato A")
    Una domanda: non è che i due domini hanno protocolli differenti (uno HTTPS e l'altro HTTP)?
    Cito dalla guida di flash:
    in tal caso utilizzare il gestore di eventi LocalConnection.allowInsecureDomain
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    Utente di HTML.it L'avatar di piaza
    Registrato dal
    Oct 2003
    Messaggi
    131
    Grazie di tutto. I protocolli sono gli stessi (http per entrambi).
    Ho rifatto tutto dall'inizio creando due swf semplici.

    SWF1)

    System.security.allowDomain("http://www.A.com");

    function _load(url:String, mc:String, cnt:MovieClip) {
    var clip:MovieClip = cnt.createEmptyMovieClip(mc, cnt.getNextHighestDepth());
    var loader:MovieClipLoader = new MovieClipLoader();
    var listener:Object = new Object();
    // Loading
    listener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
    _txt.text = int(bytesLoaded/bytesTotal*100);
    };
    // Complete
    listener.onLoadInit = function(target:MovieClip) {
    target.create();
    };
    loader.addListener(listener);
    loader.loadClip(url,clip);
    }


    _load("http://www.A.com/home.swf","_home",this);


    SWF2)
    System.security.allowDomain("http://B.it");
    System.security.allowDomain(_parent._url);

    function create() {
    import mx.transitions.Tween;
    import mx.transitions.easing.*;

    var tween:Tween = new Tween(quad, "_alpha", Strong.easeOut, 0, 100, 3, true);

    _root._txt.htmlText = "accesso a root";
    }



    Così la funzione create viene eseguita ma _root._txt.htmlText resta bianco!!!! Io queste cose non le capisco.... ho anche usato _lockroot nell'SWF1 ma nulla cambia. _root._lockroot = true;

    Mi sai aiutare? Grazie ancora di tutto....
    "Possono recidere tutti i fiori, la Primavera arriverà"

  6. #6
    Utente di HTML.it L'avatar di nep036
    Registrato dal
    Nov 2003
    Messaggi
    1,453
    se nell'init metti trace(target.create); che ti dice?

  7. #7
    Utente di HTML.it L'avatar di nep036
    Registrato dal
    Nov 2003
    Messaggi
    1,453
    e poi nel swf che carichi nel target dovrebbe esserci this._lockroot = true, non nel swf che lo ospita...

  8. #8
    Utente di HTML.it L'avatar di piaza
    Registrato dal
    Oct 2003
    Messaggi
    131
    Originariamente inviato da nep036
    se nell'init metti trace(target.create); che ti dice?
    il trace stampa: [type Function] --> vede la funzione
    "Possono recidere tutti i fiori, la Primavera arriverà"

  9. #9
    Utente di HTML.it L'avatar di nep036
    Registrato dal
    Nov 2003
    Messaggi
    1,453
    Originariamente inviato da piaza
    il trace stampa: [type Function] --> vede la funzione
    quindi se vede la funzione vuol dire che la chiami...

    allora cosa non ti torna?

  10. #10
    Utente di HTML.it L'avatar di piaza
    Registrato dal
    Oct 2003
    Messaggi
    131
    Originariamente inviato da nep036
    e poi nel swf che carichi nel target dovrebbe esserci this._lockroot = true, non nel swf che lo ospita...
    Sbagli. E forse quello che metto io non serve.
    Se metto this._lockroot = true nel target --> _root viene inteso il _level0 del target
    Io voglio che _root sia il _level0 del movie che carica.
    "Possono recidere tutti i fiori, la Primavera arriverà"

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.