Czy istnieje wiarygodny sposób określenia, czy karta lub okno przeglądarki jest nieaktywne lub nieostre?

Wcześniej uzyskałem zegar javascript, który sprawia, że ​​żądania XMLHTTP są stałe (raz na 10 sekund). Chciałbym móc wstrzymać stoper, gdy okno lub karta straci ostrość.

Jestem w pełni świadomyonFocus ionBlur wydarzenia nawindow obiekt, ale nie działają niezawodnie we wszystkich przeglądarkach. Na przykład,w Safari karty nie uruchamiają zdarzeń.

Prosty poniższy kod analizuje funkcjonalność, której szukam:

<html>
  <head>
    <title>Testing</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js"></script>
  </head>
  <body>
    <div id="console"></div>
    <script type="text/javascript">
      window.onfocus = function(event) {
        $('console').insert('Window gained focus<br />');
      }

      window.onblur = function(event) {
        $('console').insert('Window lost focus<br />');
      }
    </script>
  </body>
</html>

Czy ktoś ma technikę określania, kiedy okno przeglądarki lub karta traci ostrość, która działa we wszystkich popularnych przeglądarkach?

questionAnswers(5)

yourAnswerToTheQuestion