recherche

Maison  >  Questions et réponses  >  le corps du texte

flash - ActionScript调用JavaScript如何调试?

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

巴扎黑巴扎黑2774 Il y a quelques jours480

répondre à tous(2)je répondrai

  • 黄舟

    黄舟2017-04-10 14:26:36

    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

    répondre
    0
  • 阿神

    阿神2017-04-10 14:26:36

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

    répondre
    0
  • Annulerrépondre