如何检查SWF是否作为AIR应用程序运行?

San*_*dro 7 air flash actionscript-3

我想知道SWF是否有办法在运行时检查它是作为在线SWF还是AIR应用程序运行?我需要使用相同的SWF在线和本地运行,但是当作为AIR应用程序运行时,外部资产位于不同的目录中.我想检查SWF是本地的还是在线的,这样我就可以相应地更改外部资源的源路径.

谢谢,桑德罗

编辑:我刚刚意识到这可能是一个愚蠢的问题.:)我可能只是使用flashvars告诉SWF它在AIR应用程序中运行.

mrk*_*shi 15

您可以使用Capabilities类.

import flash.system.Capabilities;

switch (Capabilities.playerType) {
    case 'Desktop':
        //air runtime
        break;
    case 'PlugIn':
    case 'ActiveX':
        //browser
        break;
}
Run Code Online (Sandbox Code Playgroud)

Adobe ActionScript 3参考资料中的更多信息.