Tengo un problema muy extraño con Flash 10 y ExternalInterface. Actualmente estoy usando un puente hecho en casa para utilizar RTMFP con Javascript y cada vez que intento pasar los datos que contiene JSON, me sale un error extraño Javascript que proviene de inflamación:¿Por qué ExternalInterface se rompe cuando paso el parámetro con JSON como string?
missing) after argument list
try { __flash__toXML(Flash.Utilities.A..."")) ; } catch (e) { "<undefined/>"; }
Es imposible obtener más información ya que esta viene de Flash y no está vinculado a ningún archivo Javascript.
Para reproducir este problema, puede utilizar 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 y se trata de un problema conocido?
está usando 'json_encode'? – kjy112
@ kjy112 No, supongo que ExternalInterface.call se ocupará de escapar correctamente de los datos que le estoy pasando. – HoLyVieR
@holyvier http://maccherone.com/larry/projects/a-pretty-json-encoder-for-actionscript-3-as3/ – kjy112