Jeg har nu fra AS forsøgt at kalde en JS funktion og som returnerer et resultat tilbage til AS:
AS > JS > AS
Det virker fint i både IE og FF
Men jeg kan stadig ikke kalde en AS funktion via JS i FF.. Det virker som sagt i IE, men bare ikke i FF:
JS > AS > JS
Man skulle tro at det måske var fordi mit javascript ikke "finder" mit swf objekt på siden..
Håber virkelig der er nogen som kan hjælpe mig! :-/
Flash:
------------------
var call_return = _root.createTextField('call_return', _root.getNextHighestDepth(), 10, 20, 0, 0);
call_return.autoSize = true;
var callback_return = _root.createTextField('callback_return', _root.getNextHighestDepth(), 10, 40, 0, 0);
callback_return.autoSize = true;
callback_return.text = 'awaiting callback...';
import flash.external.*;
if(!ExternalInterface.available) {
/*
Error: External API is not available in the current browser
The External API is available in
- Firefox 1.0 and later
- Mozilla 1.7.5 and later
- Netscape 8.0 and later
- Safari 1.3 and later
*/
}
call_return.text = ExternalInterface.call('call_return', 2, 90);
ExternalInterface.addCallback('myFunction', null, callback);
function callback(name) {
name = 'Hi '+name;
callback_return.text = name;
return name;
}
HTML:
----------------
<script language="javascript" type="text/javascript">
function call_return(num1, num2) {
return (num1 + num2);
}
</script>
<object id="swf_top" style="width:200px; height:200px" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="
http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0">
<param name="movie" value="tst.swf">
<embed width="200" height="200" src="tst.swf" type="application/x-shockwave-flash" pluginspage="
http://www.macromedia.com/go/getflashplayer"></object>
<input type="button" value="callback" onclick="alert(document.getElementById('swf_top').myFunction('hoppe11'))">