Inaktiven Browsertab animieren

Andere Lösungen
Post Reply
Gonzo Gates
Posts: 345
Joined: Thu 19. Jan 2023, 21:46

Inaktiven Browsertab animieren

Post by Gonzo Gates »

Hallo Gemeinde,

als ich letzten gemächlich auf den Wellen des Indernetts surfte, forderte mich ein inaktiver Tab auf, doch bitte wieder zu ihm zu wechseln. Auf dieser Site hatte ich nicht gefunden, woher des kommt. Dann bin ich bei meiner Recherche auf folgenden Codeschnipsel gestoßen:

Code: Select all

<!-- Entnommen von https://kulturbanause.de/blog/title-tag-des-inaktiven-browser-tabs-animieren/ - jQuery muss aktiv sein, was in CMSimple ja gegeben ist! Kann auch von Cloudflare eingebunden werden -->
 <!--script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js" integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin="anonymous" referrerpolicy="no-referrer"></script -->
<script>
var focusTitle = $('head title').text(); // Originalen Title speichern
var tab = 0;
$(window).on('blur focus', function(e) {
 var prevType = $(this).data('prevType'); 
 if (prevType != e.type) {
   switch (e.type) {
     case 'blur':
     var i=0;
     tab = setInterval(function() {
//       switch(i++%2) { 
       switch(i++%3) { // DOR: Wert 2 auf 3 geaendert wg. dritter Anzeige
         case 0: document.title = 'Zurück zu...'; // Erste Anzeige im Tab
         break;
         // case 1: document.title = 'kulturbanause';  Zweite Anzeige im Tab
         case 1: document.title = focusTitle; // Zweite Anzeige im Tab mit original Titel
         break;
         case 2: document.title = 'Mach schon!!!'; // DOR: Hinzugefuegt: Dritte Anzeige im Tab mit Aufforderung ;-)
       }
     }, 2500); // Zeit zwischen dem Wechsel der Anzeigen auf 2500 erhoeht
     break;
     case 'focus': 
       clearInterval(tab);
       document.title = focusTitle; // Originalen Title einsetzen, wenn Tab aktiv
     break;
   }
 }
 $(this).data('prevType', e.type);
});
</script>
Wenn ihr das einfügen wollt, dann zwischen den <head>-Tags im Template eurer Geschmacksrichtung in der 'template.htm'-Datei. Ihr könnt den Code zwischen den <script>-Tags auch in eine JS-Datei kippen und mit

Code: Select all

<script src="./js/tabs-animieren.js"></script>
zwischen den <head>-Tags ansprechen.

In diesem Script werden bei inaktivität drei Anzeigen im Abstand von 2500 ms aufgerufen. Wer mehr Anzeigen haben möchte oder den Zeitabstand, kann das Doing aus meinen Kommentaren entnehmen.

Ich finde, dass das Ding ein nettes Gimmick ist und wer mehr darüber wissen möchte, kann sich über den Link im Kommentar informieren.

Gruß
Gonzo
Ich kenne keinen Sysadmin oder Programmierer, der sich noch nie ins Knie geschossen hat; mich mit eingeschlossen :!:
Post Reply