首页 > ActionScript调用JavaScript如何调试?

ActionScript调用JavaScript如何调试?

ActionScript中通过ExternalInterface.call调用JavaScript中的函数的时候,如果JS函数出错了,在浏览器中并不会报错。怎么才能让浏览器报告被AS调用的JS函数中抛出来的错误呢?


你可以在Firefox上安装一个叫FashFirebug的插件。不过,使用它之前要先安装Firebug。


ExternalInterface.call("eval","setTimeout(f,0)");
//如果有参数,使用JSON序列化即可
ExternalInterface.call(
  "eval",
  "setTimeout(function (){f("+JSON.stringify(args)+")},0)"
);

反正AS调用JS始终是异步的,再加个异步也没关系。
使用setTimeout之后,JS函数执行时若有error抛出的话,Console里就会显示出来了

注意Flash ExternalInterface.call 有重大的安全漏洞:http://lcamtuf.blogspot.com/2011/03/other-reason-to-beware-of.html

【热门文章】
【热门文章】