Frage

jQuery Tools hat flashembed, die ein JSON-Objekt als Konfigurationsparameter an die Einbettung Flash-Objekt passieren kann. Siehe die offizielle Seite .

Aber es nicht genau sagen, wie das JSON-Objekt in Flash zu bekommen. Und das ist hier die Frage ... Wie ??

War es hilfreich?

Lösung 2

HTML und JS:

<script type="text/javascript" src="js/jquery.tools.min.js"></script>
<script type="text/javascript">
    $(function(){               
        $("#flashPlacement").flashembed(
            {
                src:"Main.swf"
            },
            {   //flashvars
                myJsonObj:
                {
                    someString:"string",
                    someNumber:123,
                    someOtherObj:
                    {
                        someString:"string2",
                        someNumber:456
                    }
                }
            }
        );
        $("#flashPlacement *").show();
    });
</script>

In der Flash-Teil benutzte ich Casalib 's FlashVarUtil. Aber ja, wie Christopher W. Allen-Poole sagte (loaderInfo.parameters.myJsonObj) wird auch die Arbeit machen. (Bis für die Abstimmung)

Es wird ein String in JSON sein, das ist der Teil ich nicht vorstellen konnte, wenn die Frage zu stellen.

AS3:

import com.adobe.serialization.json.JSONDecoder;
import org.casalib.util.FlashVarUtil;
import org.casalib.util.StageReference;

StageReference.setStage(stage);
var jsonString:String = FlashVarUtil.getValue("myJsonObj");

//use as3corelib's JSONDecoder
//http://code.google.com/p/as3corelib/
var obj:Object = new JSONDecoder(jsonString).getValue();

//now it can be used like...
trace(obj.someOtherObj.someString); //output: string2

Andere Tipps

Das hängt davon ab, ob Sie in AS2 oder AS3 sind. Ich glaube, AS2 einfach die Variablen auf der _root legt, aber ich konnte täuschen. In AS3, müssen Sie Ihr root.loaderInfo.parameters Objekt gehen. Alle Variablen werden dort gespeichert in Schlüssel / Wert-Paaren.

Beispiel:

myAS2Swf.swf?example=72&other="Quack"

// in the swf:
trace( _root.example ); // 72
trace( _root.other   ); // Quack

// in AS3

myAS3Swf.swf?example=42&other="Duck"    

// in the swf:
trace( root.loaderInfo.parameters.example ); // 42
trace( root.loaderInfo.parameters.other   ); // Duck
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top