Änderung wenn user zum Browserfenster- oder Tab zurückkehrt

Dann mach ich wohl was falsch oder stell mich wieder zu dumm an :D

Hier mal nochmal der komplette Code

Code:
<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="utf-8" />
    <title>title</title>  
<script type="text/javascript">  

(function() {
  var original_title,
      title    = document.getElementsByTagName( "title" )[ 0 ];
      interval = null;
  
  window.addEventListener( "focus", function() {
    if ( interval != null ) {
      window.clearInterval( interval );
      title.innerHTML = original_title;
    }
  }, true );
 
  var new_message_notification = function ( notification_message ) {
    if ( interval != null ) {
      window.clearInterval( interval );
      title.innerHTML = original_title;
    }
    
    original_title = title.innerHTML;
  
    interval = setInterval(function() {
      if ( title.innerHTML == original_title ) {
        title.innerHTML = notification_message;
      } else {
        title.innerHTML = original_title;
      }
    }, 1000 );
  };
 
  window.new_message_notification = new_message_notification;
})();

    </script>
  </head>
<body><?php

echo "<meta http-equiv='refresh' content='5; URL=test.php'>";?>
</body>
</html>
 
Ich dachte erst, dass der Fehler darin liegt, dass das Titelelement zur Zeit der Funktionsdefinition noch nicht existiert, aber dann habe ich unten bei Dir gesehen, dass Du die ganze Seite neu lädst. In dem Fall bringt Dir die JavaScript-Funktion überhaupt nichts. Du musst die Zustandsänderung beispielsweise über AJAX melden.

Nachtrag: Um es mal beispielhaft mit jQuery zu lösen:
Javascript:
$(function() {
  setInterfal(function() {
    $.get( "/new-messages.json", function ( data ) {
      new_message_notification( "Neue Nachricht erhalten" );
    });
  }, 1000);
});
 
Zuletzt bearbeitet:
Zurück