Passing data between Actionscipt 3 and Javascript
August 28th, 2008Here are a few useful code snippets for passing data between Actionscipt 3 and Javascript.
Calling a function within Actionscript from Javascript (Flash object on page defined as “FlashObject”)
Javascript:
getFlashMovie("FlashObject").sendRequestFromJS(dataString);
function getFlashMovie(obj) {
var isIE = navigator.appName.indexOf("Microsoft") != -1;
return (isIE) ? window[obj] : document[obj];
}
Receiving data (dataString) in Actionscript
Flash:
function flashFunction(dataString:String):void {
// do something
}
ExternalInterface.addCallback("sendRequestFromJS", flashFunction);
Passing data from Flash to Javascript
Flash:
function sendRequestFromFlash(dataString:String):void {
var result:Object = ExternalInterface.call("JSFunction", dataString);
}
sendRequestFromFlash("test");
Javascript:
function JSFunction(dataString) {
// do something
}
Checking the size of incoming data (dataString) in Flash:
var ba:ByteArray = new ByteArray(); ba.writeUTFBytes(dataString); ba.position = 0; var dataSize:uint = ba.length; trace(dataSize);
