2012-03-05 6 views
0

新しい機能を追加するために再構築したくない非常に古いFlashアプリケーションがあります。ユーザーがアイドル状態になったときを検出するだけで済みます。したがって、Flashアプリケーションが3分後にキーイベントまたはマウスイベントを受け取らない場合、ユーザーがアプリケーションと再び対話するまで、その時間をトラッキングする必要があります。Flashアプリケーション内でキーイベントとマウスイベントが発生したときにJavaScriptが検出できますか?

新しいFlashアプリケーションのアプリケーションをキー/マウスイベントトラッキングを含むようにラップすることを検討しました。初期の調査では、一部のアプリケーションが古いため、互換性のないイベントシステムやAVM(ActionScript仮想マシン)を使用していることがわかりました。また、内部アプリケーションのマウスイベントは外部アプリケーションにバブルアップしないようです。 (私はイベント処理の方向が8以前のFlashのバージョンでは逆になっていると思う)

これは、ユーザーがJavaScriptを使用して古いFlashアプリケーションとのやりとりをいつ止めることができるかどうかを確認することです。 HTML文書のswfがフォーカスを失ったときや、キーとマウスのイベントが停止してswfで発生したときに、JavaScriptのみを使用して検出できるかどうかを誰でも確認できますか?

+0

私はそのように考えていないので、フラッシュがすべてのフォーカス(マウストラップ)を得る可能性があります。 JS-Callbacksを実装したとき以来、私は知らないが、これを実行する最良の方法だと思う。 – androidavid

+0

ありがとうandroiddavid。私は本当に誰かが違うと言いたいと思っていました。 JS-CallbacksとExternalInterfaceも使用しました。しかし、そのような古いアプリを再構築する必要があります。これは非常に危険で、場合によっては不可能な可能性があります。 –

+0

私はそれを試してみることが最もよい方法だと思います。私は実装が難しいことではないということです。 – androidavid

答えて

0

再構築しないと、古いswfファイルからのイベントを取得できません。しかし、swfをラップしてjQueryを使用してマウスイベントを取得することができます。

$('#swfDiv').bind("mouseenter",function(){ 
     $('#swfDiv').show(); 
    }).bind("mouseleave",function(){ 
      $('#' + divCursor).hide(); 
    }); 
関連する問題