【问题标题】:Best way to determine Flash context in AS3?在 AS3 中确定 Flash 上下文的最佳方法是什么?
【发布时间】:2011-07-26 12:00:12
【问题描述】:

我想知道我的 Flash 应用程序是在浏览器中运行还是在 Flash 创作工具(本地 Flashplayer)中进行了测试。

我想出了这个。

var isLocal:Boolean = !ExternalInterface.available || ExternalInterface.call("window.location.toString") == null;

除了 AS3 文档中所述之外,ExternalInterface.available浏览器中运行或在本地测试时总是返回true强>。

【问题讨论】:

    标签: flash actionscript-3 testing env


    【解决方案1】:

    尝试使用Capabilities.playerType,它会返回运行环境的类型。

    这里的文档链接:

    http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/system/Capabilities.html#playerType

    【讨论】:

    • 它在测试模式下为外部 Flash Player 返回 "External"。但我必须知道我正在运行其中的哪一个。
    • @line-o 但是您要求确定它是在自动循环工具中运行还是在浏览器中运行。如果您在浏览器中运行它,它会返回“PlugIn”,而从 autoring 工具中它会返回“External”。编辑:看到你的问题的更新,这有点奇怪。
    • @line-o 对我来说就是这样。如果我从创作工具构建并运行一个 SWF 文件,其中只有一个 TextField 打印从 Capabilities.playerType 返回的字符串,它会打印“外部”。如果我随后在浏览器中打开完全相同的 SWF,它会打印“PlugIn”,这是我所期望的。你不是这样吗?编辑:另外,如果我通过在操作系统中双击它来运行完全相同的 SWF,它会打印“StandAlone”。
    猜你喜欢
    • 1970-01-01
    • 2023-03-28
    • 2018-07-09
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-11
    相关资源
    最近更新 更多