문제

이 질문에 대한 후속 조치로: 온라인 시험 지원서를 개발할 때 부정행위를 방지하려면 어떻게 해야 합니까?

Flex 애플리케이션이 포커스를 잃는 경우를 감지할 수 있습니까?사용자가 다른 애플리케이션을 클릭했거나 브라우저 탭을 연 경우입니까?

나는 이것을 읽었다: Flex 애플리케이션이 포커스를 잃을 때 감지 하지만 그다지 명확하지 않았습니다 ...

도움이 되었습니까?

해결책

해당 링크에 있는 코드의 핵심 부분은

systemManager.stage.addEventListener(Event.DEACTIVATE,deactivate);

Flash 플레이어는 포커스가 플레이어에 들어오고 나갈 때 활성화 및 비활성화 이벤트를 보냅니다.당신이 해야 할 일은 그들을 위한 리스너를 만들고 적절하게 반응하는 것뿐입니다.

활성화 및 비활성화 이벤트를 사용하는 방법에 대한 보다 명확한 예는 다음에서 볼 수 있습니다. blog.flexaxamples.com.

또한 일부 브라우저에서는 활성화 및 비활성화 이벤트에 문제가 있는 것 같습니다. Colin Moock에는 여기에 대한 자세한 정보가 있습니다.

다른 팁

기본 애플리케이션 태그에 활성화 핸들러를 추가할 수 있습니다.이는 Flex 애플리케이션이 포커스를 받을 때마다 이를 감지합니다.예:

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" verticalAlign="middle" backgroundColor="white" activate="activateHandler(event);" deactivate="deactivateHandler(event);">

이는 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() 함수가 실행되지 않습니다.소스를 보면 코드가 나와있습니다.왜인지 아시는 분 계시나요??

고마워요, 애니

Flex 4.6 에서이 명령은 SystemManager.stage.AdDeventListener (Event.Deactivate, Deactivate)를 작동하지만 Flash App wmode가 Window (기본값)로 설정되어 있는지 확인합니다.wmode가 투명하면 이벤트가 포착되지 않았습니다.플래시 앱을 넣은 임베디드 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

...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top