2016-07-14 23 views
1

実際にはデータベース内で何らかの更新が行われたときに通知音が鳴ります。ブラウザが最小化されたときに5秒ごとにページをリロードしようとしていますこれは機能しません。ブラウザが最小化されたときに5秒ごとにJavaScriptのリロードページが表示されます

シナリオ:

がブラウザを最小化し、コンピュータがアイドル状態のままにしておきます。

私は二つの方法試してみました:

方法1:

<meta http-equiv="refresh" content="5;URL=http://example.com/" /> 

方法を2:

<script> 

    $(document).ready(function() { 

    setTimeout(function(){ 
    window.location.reload(1); 
    }, 5000); 

    }); 

</script> 

すべてのヘルプは素晴らしいことです。

+0

ブラウザのウィンドウが最小化されていることをクライアントのjavascriptから識別することはできません。 – VisioN

+0

@Visionしかし、ブラウザウィンドウが最小化されていても、Firefoxでは自動リロードが機能します。 – stom

+0

更新されたデータそのものをサーバーから取得できるだけの理由で、ページ全体をリロードするのはなぜですか?とにかく 'window.location.href = window.location.href;'は動作しませんでしたか? – KRONWALLED

答えて

1

ウィンドウぼかしフォーカスイベントは、ウィンドウの表示状態を検出できます。

例:

var timer = null; 

//when the window is minimized or when user is in different tab . 
    window.addEventListener('blur', function(){ 

     timer = setInterval(function(){ 

      window.location.reload(1); 

     },5000) 

    }, false); 


//when user is back to window 
    window.addEventListener('focus', function(){ 

     //stop the page reload once 

     if(timer != null){ 

     clearInterval(timer); 

     } 
    }, false); 

・ホープ、このことができます。

関連する問題