Reputation: 5478
I'm trying to call a function declared with ExternalInterface in a Flash swf, using JavaScript. It worked once, but all of a sudden, it stopped working.
I have a debug version of the Flash Player, but no errors occur in Flash. Not even a "Security Sandbox Error" or something. The only error I get is the following error in JavaScript Error: Error in Actionscript. Use a try/catch block to find error.
I'm using AS3, exporting for Flash Player 10 and testing on Firefox 3/Safari 4, on a Mac.
Any assistance would be greatly appreciated.
Upvotes: 1
Views: 4055
Reputation: 5242
Check out ExternalInterface.marshallExceptions. It should allow you to see more details about the error.
Upvotes: 7
Reputation: 7956
in your as
import flash.external.*;
ExternalInterface.call("return_me_some_value()");
and in your html
<script>
var super_var = 'something';
function return_me_some_value() {
return super_var;
}
</script>
Upvotes: 0
Reputation: 9257
Upvotes: 0
Reputation: 39930
Kinda tricky to help you solve something that 'worked once'. But using ExternalInterface is pretty straightforward -- here's what I do:
in AS3: something like
...
if (ExternalInterface.available) ExternalInterface.addCallback("search", jsSearch);
...
private function jsSearch(term:String):void
{
new Search(data);
}
in JS: something like
...
var term = $('input#search').val();
$("#swfobject").get(0).search(term);
....
Upvotes: 4