Undefined object properties in JavaScript may not be serialized and sent to ActionScript unless they are explicitly defined as undefined. If the variable is simply not defined at all, the property may be stripped out.
If you are using the debug player, you may find that the calls between JavaScript and Flash are slow. The calls occur very quickly on other platforms, in other browsers, and with the standard Flash Player.
You can not pass objects or arrays that contain circular references. Circular references in both JavaScript and ActionScript will cause infinite loops. In other words, if an object has a reference to itself as a property, the serialization code will get stuck in an infinite loop.
Variables that contain spaces in the names are not currently serialized correctly (
view bug).
Properties of Arrays are not currently serialized (
view bug).
Calling multiple JavaScript functions from Flash one after the other will result in only the last function being called. For example:
proxy.call("function1");
proxy.call("function2");
Will result in only function 2 being called. The current workaround is to call a single JavaScript function that then makes multiple function calls like so:
//ActionScript
proxy.call("doActions");
and then in JavaScript
//JavaScript
function doActions()
{
function1();
function2();
}
You can view the current bug for this here. Note : This issue has been fixed in the most recent source, which you can get from here.
Data containing single quotes and unicode characters may not transfer properly. To work around this when sending data from AS to
JS, see
this bug report. Otherwise, you can manually escape the forbidden characters in your code. However, these two workarounds cannot be used together. Note : The single quote bug has also been fixed in the most recent source, which you can get from
here.
You can view all bug reports and enhancment requests in the bug tracker.