作爲後續行動這個問題:Developing a online exam application, how do I prevent cheaters?我如何檢測一個Flex應用程序失去焦點
我能察覺時,Flex應用程序失去其重點是什麼?也就是說,如果用戶點擊了另一個應用程序或打開了瀏覽器選項卡?
我這樣說的:Detecting when a Flex application loses focus但也不是很清楚......
作爲後續行動這個問題:Developing a online exam application, how do I prevent cheaters?我如何檢測一個Flex應用程序失去焦點
我能察覺時,Flex應用程序失去其重點是什麼?也就是說,如果用戶點擊了另一個應用程序或打開了瀏覽器選項卡?
我這樣說的:Detecting when a Flex application loses focus但也不是很清楚......
的代碼在該鏈接的關鍵部分是
systemManager.stage.addEventListener(Event.DEACTIVATE,deactivate);
Flash播放器發送出局激活和關閉事件時焦點進入並離開玩家。您需要做的就是爲他們創建一個收聽者並做出適當的反應。
有關如何使用激活和停用事件的更清晰示例,請參閱blog.flexaxamples.com。
此外,它看起來像激活和停用事件在某些瀏覽器中遇到麻煩。 Colin Moock has more info on that here.
這將工作來檢測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()">
我想實現這個,但onAppFocusIn()函數不執行,一旦我搬回到Flex應用程序窗口。當我查看源代碼時,代碼就在那裏。有誰知道爲什麼?
感謝, 安妮
你可以在主應用程序標籤添加一個處理激活。這可以檢測到Flex應用程序何時聚焦。 如:
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" verticalAlign="middle" backgroundColor="white" activate="activateHandler(event);" deactivate="deactivateHandler(event);">
在Flex 4.6,此命令的工作systemManager.stage.addEventListener(Event.DEACTIVATE,停用) 但要確保Flash應用程序的wmode設置爲窗口(默認)。當模式透明時,事件沒有被捕獲。你可以在你放置你的Flash應用程序的嵌入式html中設置wmode。例如:
<object classid="clsid:D27WEE-A16D-21cf-90F2-422253540410" width="100%" height="100%"
id="MyApp" name="MyApp" align="middle">
<param name="movie" value="MyApp.swf?v=1.00.008" />
<param name="wmode" value="transparent"> <----- take out this
...如果Wmode是指透明或不透明
將無法正常工作 – jedierikb 2009-07-07 16:22:11