2011-09-07 3 views
0

자바 스크립트 카운터를 사용하여 사용자가 "활성"시간을 계산하는 웹 페이지가 있습니다. 즉, 사용자가이 페이지를 보는 데 소비 한 시간 (다른 페이지가 아닌)을 의미합니다. document.onfocusout/onfocusin (IE) 및 window.onblur/onfocus (other) 사용자가 동일한 페이지 (플래시, 자바 등) 내에서 플러그인을 클릭하면 시작/중지하여이를 수행합니다. 창문에서 초점과 창을 잃는다. 사용자가 여전히 내 페이지에 있다는 것을 알 수있는 방법이 있습니까?플러그인을 클릭 할 때 브라우저 창 포커스 유지

미리 감사드립니다.

+0

편집 : IE의 대응 부분 인 document.onfocusin과 document.onfocusout은이 문제를 겪지 않는 것처럼 보입니다. 창에 초점을 유지합니다. – periklis

답변

0

실제로 문제가됩니다. 그러나 당신은 그것에서 당신의 방법을 속일 수 있습니다. Flash Player는 스크립팅 호스트 (사용자의 경우 JavaScript 호스트)와 통신 할 수 있습니다. Flash Player 무비가 ActionScript를 통해 잡을 수 있다고 생각되는 포커스를받을 때 ExternalInterface Flash Player 클래스 API를 사용하여 호스트에 알리도록 프로그래밍하면 JavaScript 함수가 호출되어 시작됩니다. 타이머를 다시 사용하면 페이지에서 포커스를 훔치는 것이 대부분 입니다 (나쁜 아이디어). 기본적으로 Flash Player가 포커스를 훔칩니다. Flash Player 무비를 클릭하면 키보드가 더 이상 JavaScript에 걸리지 않습니다. , Flash Player에서만 곧바로 사용할 수 있습니다.)

내가 말하는 바를 이해합니까?

+0

플래시 코드 자체를 편집하겠습니까? 이는 사용자가 업로드 한 임의의 콘텐츠 (iframe 내부에있을 수 있음)를 다루므로 불가능합니다. 또한 Java 애플릿의 경우에는 다루지 않습니다. – periklis

관련 문제