确定是否从ActionScript连接了Flash Player调试程序

时间:2015-02-26 21:09:07

标签: actionscript-3

我知道Capabilities.isDebugger会告诉您当前的Flash Player是否是调试播放器,但AS3是否有办法确定它是否连接到调试会话?

我想这样做的原因:我目前正在向JS console.log发送所有日志消息,如下所示:

function log(msg:String){
    trace(msg);
    if(ExternalInterface.available)
        ExternalInterface.call("console.log", msg);
}

但是,当我还没有在IDE(Flash Builder,IntelliJ IDEA等)的调试输出面板中看到trace语句时,我更愿意这样做。像这样:

function log(msg:String){
    trace(msg);
    if(ExternalInterface.available && !Capabilities.isDebuggerConnected)
        ExternalInterface.call("console.log", msg);
}

如果我使用Capabilities.isDebugger而不是伪造的isDebuggerConnected,那么当我使用调试播放器时,它将永远不会在JS控制台中显示日志消息,但我确实希望看到如果我没有连接到调试器,则记录消息。我知道我仍然可以监视flashlog.txt,但如果我没有在连接的调试会话中看到它们,我宁愿在JS控制台中看到它们。

是的,我承认,这是一件相当不寻常的事情。 :)如果这很容易,那就太好了。

0 个答案:

没有答案