除非有活动,否则在x分钟后关闭弹出窗口

时间:2013-01-10 20:09:06

标签: javascript jquery flash popup

我有一个链接,点击后,使用以下命令打开一个新窗口:

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

此窗口包含一个Flash游戏。

我想在不活动20分钟后关闭窗户。

我知道我可以使用以下方式创建超时:

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

但我怎么能弄清楚弹出窗口是否有活动?

如果用户与Flash互动,我是否可以通过dom事件获取此信息?

我想避免在玩游戏时关闭窗口的情况:)

这是基于IE的环境。

2 个答案:

答案 0 :(得分:1)

theInterval = 0;    
function doSomething(){
    do something;
}

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

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

我希望这会有所帮助。

答案 1 :(得分:1)

如何为mousemovekeypressclick事件添加侦听事件,并在每次事件发生时清除计时器。

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

function closeWindow(){
   window.close();
}