2011-07-01 130 views
2

我想使用JavaScript編碼我自己版本的流行遊戲,如掃雷,蛇等。有些遊戲需要定時器,所以我想知道是否有可能檢測用戶是切換到另一個選項卡還是最小化瀏覽器,以便我可以將遊戲置於暫停模式?感謝您提供的任何幫助!檢測瀏覽器選項卡切換/瀏覽器使用javascript最小化

+0

可能重複:http://stackoverflow.com/questions/1760250/how-to-tell-if-browser-tab-is-active –

+0

感謝提及,它解釋瞭如何檢測最小化的瀏覽器,沒有關於標籤切換,所以也許有人會在這裏回答。如果沒有,我會刪除我的帖子。 – Nazar

回答

1

當窗口捕捉到onblur事件時,您可以設置一個var。

<script> 
var has_blurred = 0; 
function meep() 
{ 
    has_blurred = 1; 
    game.pause(); 
} 
window.onblur=meep; 
</script> 

編輯在同一個窗口/選項卡中添加的onfocus

再後來,你可以,如果你的窗口/標籤曾經用的onfocus處理模糊處理。

<script> 
function handleFocus() 
{ 
    if(has_blurred) 
     game.unpause();    
    has_blurred = 0; // reset has_blurred state 
} 
window.onfocus=handleFocus; 
</script> 
+0

嗨,謝謝!這看起來很簡單。甚至像currenttab.onblur的東西呢? js有這種東西嗎? – Nazar

+0

您只能檢查您的選項卡是否模糊(除非其他選項卡來自同一個域)。如果其他選項卡來自同一個域,則可以使用'window.opener.frames [您想要檢查的選項卡的索引] .has_blurred'來檢查已知選項卡是否模糊。 – mrk

1

你可以用這個代碼做

$(document).ready(function(){ 
    $([window, document]).focusin(function(){ 
    //Your logic when the page gets active 
    }).focusout(function(){ 
    //Your logic when the page gets inactive 
}); 
});