我有一个链接,点击后,使用以下命令打开一个新窗口:
var win = window.open(url,....);
此窗口包含一个Flash游戏。
我想在不活动20分钟后关闭窗户。
我知道我可以使用以下方式创建超时:
var t = setTimeout("dosomething()", 5000)
但我怎么能弄清楚弹出窗口是否有活动?
如果用户与Flash互动,我是否可以通过dom事件获取此信息?
我想避免在玩游戏时关闭窗口的情况:)
这是基于IE的环境。
答案 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)
如何为mousemove
,keypress
和click
事件添加侦听事件,并在每次事件发生时清除计时器。
var t = setTimeout(closeWindow, 5000);
$(document).on('mousemove keypress click', function(){
clearTimeout(t);
t = setTimeout(closeWindow, 5000);
});
function closeWindow(){
window.close();
}