如何检测Flex应用程序是否失去焦点
时间:2020-03-05 18:48:32 来源:igfitidea点击:
作为此问题的后续措施:开发在线考试应用程序,如何防止作弊?
我可以检测到Flex应用程序何时失去焦点吗?也就是说,如果用户单击了另一个应用程序或者打开了浏览器选项卡?
我读到以下内容:检测Flex应用程序何时失去焦点但不是很清楚...
解决方案
回答
该链接上的代码的关键部分是
systemManager.stage.addEventListener(Event.DEACTIVATE,deactivate);
当焦点进入和离开播放器时,Flash Player会发出激活和停用事件。我们需要做的就是为它们创建一个侦听器并做出适当的反应。
有关如何使用激活和停用事件的更清晰示例,请参见blog.flexaxamples.com。
同样,在某些浏览器中,激活和停用事件似乎也有问题。 Colin Moock在这里有更多信息。
回答
这将有助于检测Flex窗口何时失去焦点,但是无需真正单击Flex应用程序即可检测到窗口何时重新获得焦点,这需要HTML包装程序中的更新,对吗?就像是:
<script language="JavaScript" type="text/javascript"> <!-- // ----------------------------------------------------------------------------- // Globals // Major version of Flash required var requiredMajorVersion = ${version_major}; // Minor version of Flash required var requiredMinorVersion = ${version_minor}; // Minor version of Flash required var requiredRevision = ${version_revision}; // ----------------------------------------------------------------------------- // --> function onAppFocusIn() { ${application}.onAppFocusIn(); alert("onAppFocusIn"); } </script> <body scroll="no" onFocus="onAppFocusIn()">
我正在尝试实现此功能,但是一旦我移回flex应用程序窗口,onAppFocusIn()函数就不会执行。当我查看源代码时,代码就在那里。有谁知道为什么?
谢谢,
安妮