Variablen von JavaScript in Flash übergeben

david82

Grünschnabel
Hallo,

kann mir jemand sagen, ob es möglich ist, Variablen von JavaScript in Flash zu übergeben.
wenn ja, wie?

sagen wir mal, ich mache mir in Flash eine textBox und schreibe mit JavaScript was rein.

danke schon mal im voraus,

david
 
Hi,

mit welcher Flash-Version arbeitest Du?

Mit Flash 8 kannst Du die ExternalInterface-Klasse mit ihrer addCallBack-Methode verwenden.

Mit älteren Versionen musst Du Flashplayer-Methoden verwenden:
Javascript:
var movie = (document.all?) document.getElementById("flashfilm") : document["flashfilm"];
movie.setVariable("js_text", "Hallo Flash!");
Code:
this.watch("js_text", onJs);

function onJs(id, oval, nval) {
    textfeld.text = nval;
    return nval;
}
In diesem Beispiel trägt das Flashobjekt im Object-Tag die id "flashfilm" und im Embed-Tag das name-Attribute "flashfilm".

Gruß
.
 
danke :)

ich arbeite mit Flash8. bin aber noch kein profi :(

kannst du mir vielleicht ein komlettes/kleines beispiel machen? dann kann ich das besser nachvollziehen.
 
Hi,

schau mal in der Flashhilfe unter ExternalInterface.addCallback Dort steht ein Beispiel, das ich hier auch nicht besser formulieren könnte.

Gruß
.
 
danke :)

aber ich meinte es etwas anderes. in diesem beispiel reagiert das Flash nur auf den Button Druck. ich woll aber in Flash eine Variable mit einem Wert übergeben. will sowas wie einen bargraph erstellen, welcher die variablenwerte von javascript bekommt.
 
Wo ist der Unterschied?
Code:
import flash.external.*;

var methodName:String = "showText";
var instance:Object = null;
var method:Function = showJsText;
var wasSuccessful:Boolean = ExternalInterface.addCallback(methodName, instance, method);



function showJsText(str) {
    txtField.text = str;
}
Javascript:
function sendTextToFlash(str) {
    thisMovie("flasMovie").showText(str);
}

function thisMovie(movieName) {
    if (navigator.appName.indexOf("Microsoft") != -1) {
        return window[movieName]
    }
    else {
        return document[movieName]
    }
}

Gruß
.
 

Neue Beiträge

Zurück