calling a Flash ExternalInterface with JavaScript - Stack Overflow

I'm trying to call a function declared with ExternalInterface in a Flash swf, using JavaScript. It

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.

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.

Share Improve this question asked Mar 27, 2009 at 17:32 evilpenguinevilpenguin 5,4886 gold badges43 silver badges50 bronze badges
Add a ment  | 

4 Answers 4

Reset to default 7

Check out ExternalInterface.marshallExceptions. It should allow you to see more details about the error.

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);
....
  • Make sure the javascript and the SWF are on the same domains otherwise use a crossdomain.xml
  • Make sure you have added the allowScriptAccess parameter to the flash embed
  • If you run it locally you may (but don't think it will change anything) add the location to flash players trusted ones (in the security panel).

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>

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1743958567a4536245.html

相关推荐

  • calling a Flash ExternalInterface with JavaScript - Stack Overflow

    I'm trying to call a function declared with ExternalInterface in a Flash swf, using JavaScript. It

    2天前
    20

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信