2

クリックすると、次を使用して新しいウィンドウを開くリンクがあります。

var win = window.open(url,....);

このウィンドウにはフラッシュ ゲームが含まれています。

非アクティブ状態が 20 分続いたらウィンドウを閉じたい。

次を使用してタイムアウトを作成できることはわかっています。

var t = setTimeout("dosomething()", 5000)

しかし、ポップアップにアクティビティがあったかどうかはどうすればわかりますか?

ユーザーがフラッシュを操作した場合でも、dom イベントを介してこの情報を取得できますか?

彼らが遊んでいる間にウィンドウを閉じるという状況を避けたい:)

これはIEベースの環境にあります。

4

2 に答える 2

1

mousemovekeypress、およびclickイベントのリッスン イベントを追加し、イベントが発生するたびにタイマーをクリアするのは どうでしょうか。

var t = setTimeout(closeWindow, 5000);
$(document).on('mousemove keypress click', function(){
   clearTimeout(t);
   t = setTimeout(closeWindow, 5000); 
});

function closeWindow(){
   window.close();
}
于 2013-01-10T20:22:26.627 に答える
1
theInterval = 0;    
function doSomething(){
    do something;
}

function ScheduleDoSomething(){
    theInterval = setInterval(function () {
        doSomething();}, timeToClose);
}

jQuery(document).keydown(function (e) {
    clearInterval(theInterval);scheduleDoSomething();
});

これが役立つことを願っています。

于 2013-01-10T20:16:53.117 に答える