Actionscript 3 确定是否从ActionScript连接了Flash Player调试器

Actionscript 3 确定是否从ActionScript连接了Flash Player调试器,actionscript-3,Actionscript 3,我知道这会告诉你当前的Flash播放器是否是调试播放器,但是AS3有没有办法确定它是否连接到调试会话 我想这样做的原因是:我目前正在将所有日志消息发送到JS console.log,如下所示: function log(msg:String){ trace(msg); if(ExternalInterface.available) ExternalInterface.call("console.log", msg); } function log(msg:Str

我知道这会告诉你当前的Flash播放器是否是调试播放器,但是AS3有没有办法确定它是否连接到调试会话

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

function log(msg:String){
    trace(msg);
    if(ExternalInterface.available)
        ExternalInterface.call("console.log", msg);
}
function log(msg:String){
    trace(msg);
    if(ExternalInterface.available && !Capabilities.isDebuggerConnected)
        ExternalInterface.call("console.log", msg);
}
但是,我只希望在IDE Flash Builder、IntelliJ IDEA等中的调试输出面板中还没有看到跟踪语句时才执行此操作。类似如下:

function log(msg:String){
    trace(msg);
    if(ExternalInterface.available)
        ExternalInterface.call("console.log", msg);
}
function log(msg:String){
    trace(msg);
    if(ExternalInterface.available && !Capabilities.isDebuggerConnected)
        ExternalInterface.call("console.log", msg);
}
如果我使用Capabilities.isDebugger而不是虚构的isDebuggerConnected,那么当我使用调试播放器时,它将不会在JS控制台中显示日志消息,但是如果我没有连接到调试器,我确实希望看到日志消息。我知道我仍然可以监视flashlog.txt,但是如果在连接的调试会话中没有看到它们,我更愿意在JS控制台中看到它们


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

我不知道这是回答还是评论;我认为您可以使用Capabilities.playerType了解当前Flash player是ActiveX还是插件,同时又不是调试版本,因此您可以使用JS,否则请禁用它。我希望在ExternalInterface.available时使用JS,除非调试器已连接,因为在这种情况下,日志显示在Flash调试控制台中。playerType对我来说并不重要。我的意思是,如果playerType在[ActiveX,PlugIn]浏览器中,Flash player不是调试器,那么请确定您需要JS,否则,请禁用它,因为您不使用浏览器,所以不需要它。嗯,但我的问题不是确定JS是否可用,因此,我只能使用ExternalInterface.available,我的问题也不是当前播放机是否能够调试,而是播放机是否连接到调试会话。我猜这是不可能的。