¿Por qué se rompe ExternalInterface cuando paso el parámetro con JSON como una cadena?
Tengo un problema muy extraño con Flash 10 y ExternalInterface. Actualmente estoy usando un puente casero para usar RTMFP con Javascript y cada vez que intento pasar datos que contienen JSON, recibo un extraño error de Javascript que proviene de Flash:
missing ) after argument list
try { __flash__toXML(Flash.Utilities.A..."")) ; } catch (e) { "<undefined/>"; }
Es imposible obtener más información ya que esto proviene de Flash y no está vinculado a ningún archivo Javascript.
Para reproducir este problema, puede usar este script:
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.external.ExternalInterface;
public class Main extends Sprite
{
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
var test:String;
test = "\"\\\"\"";
ExternalInterface.call("console.log", test);
}
}
}
¿Qué puedo hacer para evitar este problema? ¿Es un problema conocido?