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