2015-09-26 73 views
0

在我的網站上,有一個下載頁面。我想繼續等待我的用戶15秒下載頁面。我想在下載按鈕出現之前添加15秒計時器。同時,如果用戶點擊瀏覽器中的另一個選項卡或最小化瀏覽器,計時器應停止。如何檢測瀏覽器未最小化,相關選項卡未激活

我的問題是如何檢測用戶是否一直在網頁上觀看,這意味着瀏覽器沒有最小化,這個標籤是不活動的。如何在javascript中執行此任務。

+0

在這個問題http://stackoverflow.com/questions/2567832/code-to-make-div-appear-after-a-certain-amount-of-time你可以學習如何顯示你的按鈕後x秒使用jQuery延遲。 – Omid

+0

@OmidHezaveh我只是想檢測選項卡是活動的和瀏覽器沒有最小化。 – Thusitha

+1

我還沒有自己嘗試過,但可見性API可能會幫助您檢測該元素是處於查看狀態還是焦點狀態https://developer.mozilla.org/en-US/docs/Web/API/Page_Visibility_API – Omid

回答

1

這裏準備使用的JS

(function() { 
    var hidden, visibilityChange; 
    if (typeof document.hidden !== "undefined") { 
     hidden = "hidden"; 
     visibilityChange = "visibilitychange"; 
    } else if (typeof document.mozHidden !== "undefined") { 
     hidden = "mozHidden"; 
     visibilityChange = "mozvisibilitychange"; 
    } else if (typeof document.msHidden !== "undefined") { 
     hidden = "msHidden"; 
     visibilityChange = "msvisibilitychange"; 
    } else if (typeof document.webkitHidden !== "undefined") { 
     hidden = "webkitHidden"; 
     visibilityChange = "webkitvisibilitychange"; 
    } 


    // If the page is hidden, pause the countdown; 
    // if the page is shown, resume the countdown 
    function handleVisibilityChange() { 
     if (document[hidden]) { 

      //pause your countdown 
     } else { 

      //resume your countdown 
     } 
    } 

    // Warn if the browser doesn't support addEventListener or the Page Visibility API 
    if (typeof document.addEventListener === "undefined" || 
     typeof document[hidden] === "undefined") {} else { 
     // Handle page visibility change 
     document.addEventListener(visibilityChange, handleVisibilityChange, false); 

    } 
})(); 

希望這能幫助你! :)

相關問題