【问题标题】:Giving a Flex application the focus in browser to capture keystrokes让 Flex 应用程序在浏览器中获得焦点以捕获击键
【发布时间】:2010-01-01 21:50:14
【问题描述】:

我在浏览器中运行的 Flex 中编写了 little video game。玩家通过按下键盘上的箭头按钮移动,所以我需要捕捉这些击键。事实上,当玩家按下其中一个键时,游戏动作就开始了。

为了捕捉击键,Flash/Flex 应用程序,而不仅仅是浏览器,需要获得焦点。

如何确保应用程序具有焦点?我已经实现了一些技巧:必须单击“开始”按钮才能开始游戏。此按钮的唯一目的是确保应用程序具有焦点。有没有更好的解决方案?

【问题讨论】:

    标签: apache-flex flash browser focus keystroke


    【解决方案1】:

    不,这是唯一的方法,但我认为您目前的解决方案是一个很好的解决方案。您(作为用户)必须单击以聚焦的原因是,应用程序不能悄悄地窃取焦点,然后在您不知情的情况下记录击键,例如窃取密码。

    【讨论】:

    • 还有另一种方法。检查我的答案。
    【解决方案2】:

    在某些浏览器 (IE) 中,您可以通过 JavaScript 赋予 SWF 焦点。不幸的是,这在 Firefox 中不起作用。因此,一些用户将不得不单击 SWF 以使其获得焦点。你可以很容易地在你的游戏中检查浏览器,如果它是 IE 则自动给 SWF 焦点而不显示“开始”按钮。然后在 Firefox 中显示“开始”按钮。

    【讨论】:

      【解决方案3】:

      看看下面的链接。对我来说效果很好。

      http://www.flexjunk.com/2010/12/30/managing-initial-swf-focus-in-all-browsers/

      【讨论】:

        猜你喜欢
        • 2014-05-06
        • 2010-11-12
        • 2018-04-02
        • 2011-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-18
        • 2012-06-14
        相关资源
        最近更新 更多