I want to initialize a JS function when the swf loads. However, I can’t seem to get it to return the value. What am I doing wrong?
import flash.external.ExternalInterface;
var sending_lc:LocalConnection = new LocalConnection();
var thisresult:Object = ExternalInterface.call("initializedSend");
received_ti.text = "Returned: " + thisresult;
sending_lc.send("demoConnection", "printOut", thisresult);
function getTextFromJavaScript(str:String):Void {
received_ti.text = "From JavaScript: " + str;
sending_lc.send("demoConnection", "printOut", "from JS: "+str);
}
ExternalInterface.addCallback("sendTextToFlash", this, getTextFromJavaScript);
function clickSend(eventObj:Object):Void {
var jsArgument:String = sending_ti.text;
var myresult:Object = ExternalInterface.call("getTextFromFlash", jsArgument);
received_ti.text = "Returned: " + myresult;
}
send_button.addEventListener("click", clickSend);
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<script language="JavaScript">
function getFlashMovie(movieName) {
var isIE = navigator.appName.indexOf("Microsoft") != -1;
return (isIE) ? window[movieName] : document[movieName];
}
function formSend() {
var text = document.htmlForm.sendField.value;
getFlashMovie("ExternalInterfaceExample").sendTextToFlash(text);
}
function initializedSend() {
document.htmlForm.receivedField.value = "From Flash: Intialized";
getFlashMovie("ExternalInterfaceExample").sendTextToFlash("it Worked");
}
function getTextFromFlash(str) {
document.htmlForm.receivedField.value = "From Flash: " + str;
return str + " received";
}
</script>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>ExternalInterfaceExample</title>
</head>
<body bgcolor="#ffffff">
<form name="htmlForm" method="POST" action="javascript:formSend();">
Sending to ActionScript:<br />
<input type="text" name="sendField" value="<?=$_GET['var']?>" />
<br />
<input type="submit" value="Send" /><br />
<br />
Received from ActionScript:<br />
<input type="text" name="receivedField">
</form>
<!--url's used in the movie-->
<!--text used in the movie-->
<!-- saved from url=(0013)about:internet -->
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="800" height="600" id="ExternalInterfaceExample" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="ExternalInterfaceExample.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="ExternalInterfaceExample.swf" quality="high" bgcolor="#ffffff" width="800" height="600" name="ExternalInterfaceExample" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
</body>
</html>