一段时间后自动关闭窗口

时间:2011-06-22 12:37:25

标签: php javascript

我想在5分钟后自动关闭一个窗口。我试过PHP和Javascript。但问题是当弹出窗口重新加载时,计数器再次从0开始。简而言之,我想在5分钟后关闭弹出窗口,仍然在重新加载时。

5 个答案:

答案 0 :(得分:0)

使用javascript在窗口加载时调用以下函数:

setTimeout(function() { window.close(); }, 300000);

答案 1 :(得分:0)

var foo = window.open('/advertise.html', 'blah', 'width=400, height=300');

foo.addEventListener('DOMContentLoaded', function(e) {
    foo.opener.setTimeout(function() {
        foo.close();
    }, 5000);
}, false);

这应该真的有效。如果弹出窗口从其他域obv加载页面,则无效。

答案 2 :(得分:0)

这样的事情 - 请注意,您只能关闭使用脚本打开的窗口

<?PHP
 // set this on session start
 $sessionStartTimeString = date("F j, Y, g:i a");
?>
window.onload=function() {
  var serverTime = new Date('<?php echo $sessionStartTimeString ;?>');
  var nowTime = new Date('<?php echo date("F j, Y, g:i a");?>');
  var closeTime = serverTime.setMinutes(serverTime.getMinutes()+5);
  var diff = closeTime.getTime()-nowTime.getTime();
  if (diff > 0) setTimeout(function() { window.close(); }, diff);
  else window.close()
}

答案 3 :(得分:0)

这不是一个“好方法”,但如果您的页面必须重新加载,您可以设置并存储关闭cookie内弹出窗口的时间。如果已设置cookie,则启动计时器(检查时间未通过的时间间隔?),如果尚未存在,则将其设置为5分钟内的时间,最后在关闭弹出窗口时将其删除。

答案 4 :(得分:0)

<script type="text/javascript">setTimeout("window.close();", 3000);</script>