2014-02-19 83 views
-1

嗯,我想這很簡單。我需要一個JavaScript自動關閉我的頁面。例如:一個用戶來到我的網站,然後他可以保持他想要的時間長度,但是當他點擊我網站上的某些內容(例如,他點擊了嵌入式YouTube視頻的播放按鈕,或者什麼都不重要),然後從那一刻起,在40秒之後,頁面將會非常接近。可能嗎?第一次點擊後x秒後自動關閉頁面

+0

也許你是對的這很簡單,但你有沒有嘗試過什麼? – Vainglory07

+0

不適用於PHP。 PHP是一種服務器端技術,一旦頁面被渲染,就不知道瀏覽器中發生了什麼。 –

+0

但是,如果我添加一個按鈕,並且一旦點擊,則倒計時將開始,在x秒後,頁面將關閉。至少這是可能的? :D – user3314333

回答

0

你的計劃是不可能的只有PHP,但你可以讓PHP生成JavaScript來做你所需要的。

無法關閉用戶打開的頁面。這是瀏覽器已經實施的規則,以防止用這種腳本發送惡作劇郵件。 (在實施之前,有些電子郵件中包含腳本,它們在打開時關閉當前標籤。)

但是我遇到了和以前一樣的問題。 要解決這個問題,你需要JavaScript重新打開標籤並快速關閉它。 這是我使用的關閉按鈕,在我的webapps腳本:

function Close_Button(){ 
    msg = confirm("Are you sure you want to Exit IES?"); 
    if(msg){ 
     setTimeout(function(){ 
      window.open('', '_self', ''); 
       window.close(); 
     }, 10); 
    } 
} 

您可以綁定同一個腳本來點擊你在談論並帶走了確認消息。如果您希望它在40秒內關閉,請參閱下面的示例。

編輯: ,沒有確認關閉計時器上的腳本:

function Close(timer){//timer = number of seconds 
     setTimeout(function(){ 
     window.open('', '_self', ''); 
     window.close(); 
    }, timer * 1000); 

} 

然後就可以像這樣:

Close(5); 

並將其綁定到元素的click事件。

<div id="YouTubeVideoContainer" onclick="Close(40);"> 
    Closes in 40 seconds. 
</div> 
0

使用JavaScript做到這一點。在發生任何觸發倒數的事件之後調用以下內容:

window.setInterval(window.close,40000); 
1

您是否試圖搜索您的問題?

How to close current tab in a browser window?

此方法適用於Chrome和IE:

<a href="blablabla" onclick="setTimeout(function(){var ww = window.open(window.location, '_self'); ww.close(); }, 1000);"> 
    If you click on this the window will be closed after 1000ms 
</a> 

有辦法做到這一點,但他們是 「黑客」 雜交。

由於安全原因,JavaScript無法關閉一個窗口,它確實沒有打開 。你可以,但是,使用一個小技巧,使瀏覽器認爲你 當前窗口是由JavaScript

打開

無法通過JavaScript關閉任何標籤。 「只有在使用 window.open方法的腳本打開的窗口中才會調用此方法 。」換句話說,您只能使用JavaScript來關閉通過JavaScript生成的窗口/選項卡。