簡體   English   中英

一段時間后自動關閉窗口

[英]Automatically close window after some time

我想在5分鍾后自動關閉窗口。 我已經嘗試過PHP和Javascript。 但是問題是當彈出窗口重新加載時,計數器再次從0開始。 簡而言之,我想在5分鍾后關閉彈出窗口,但仍要在重新加載時關閉。

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

使用javascript在窗口加載時調用以下函數:

setTimeout(function() { window.close(); }, 300000);
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加載頁面,則此方法將無效。

這樣的事情-請注意,您只能關閉使用腳本打開的窗口

<?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()
}

這不是“好方法”,但是如果您的頁面必須重新加載,則可以設置並存儲關閉Cookie內彈出窗口的時間。 如果已設置cookie,請啟動計時器(不超過檢查時間間隔?),如果不存在,則將其設置為5分鍾內的時間,最后在關閉彈出窗口時將其刪除。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM