it-swarm.com.de

Lassen Sie den Browser-Tab eine Benachrichtigung anzeigen

Aus Sicherheitsgründen meldet meine Website Benutzer nach 5 Minuten Inaktivität automatisch ab. Ich erreiche dies durch Jquery-Timeouts, die jedes Mal zurückgesetzt werden, wenn der Benutzer eine Tätigkeit ausführt, die ich für "Aktivität" halte. Um die Sicherheit zu gewährleisten, ist das Zeitlimit des Cookies ebenfalls auf 5 Minuten festgelegt, und meine Jquery führt einen Heartbeat an den Server aus, um sicherzustellen, dass das Cookie nicht abläuft.

Bei ungefähr 4 Minuten Inaktivität wird ein Dialogfenster für die Jquery-Benutzeroberfläche eingeblendet, das den Benutzer vor dem bevorstehenden Timeout warnt. Der Benutzer kann sich dafür entscheiden, angemeldet zu bleiben, sich jetzt abzumelden oder nichts zu tun, und er muss sich nach 5 Minuten abmelden.

Mein Problem ist, dass ich die Registerkarte mit einer anderen Hintergrundfarbe blinken/blinken lassen möchte, um den Benutzer darauf hinzuweisen, dass etwas passiert, obwohl sie nicht aufpasst. Ich bin mir einfach nicht sicher, wie ich das machen soll.

21
Josh

Sie können den Titel der Seite ändern (dies sollte auch den Text auf der Registerkarte ändern).

document.title = 'New title';

Zusätzlich können Sie dies in einer setInterval zwischen dem Seitentitel und den Informationen, die Sie dem Benutzer anzeigen möchten, hin und her bewegen. Ich habe dieses Verhalten bei Google Mail bei eingehender Chat-Kommunikation festgestellt.

23
Josiah Ruddell

Es ist nicht möglich, den Hintergrund einer Browser-Registerkarte zu ändern, zumindest nicht einheitlich für alle.

Wie von Josiah erwähnt, kann mit setInterval ein blinkender Seitentitel erstellt werden.

Dieses Javascript macht davon Gebrauch:

var PageTitleNotification = {
    Vars:{
        OriginalTitle: document.title,
        Interval: null
    },    
    On: function(notification, intervalSpeed){
        var _this = this;
        _this.Vars.Interval = setInterval(function(){
             document.title = (_this.Vars.OriginalTitle == document.title)
                                 ? notification
                                 : _this.Vars.OriginalTitle;
        }, (intervalSpeed) ? intervalSpeed : 1000);
    },
    Off: function(){
        clearInterval(this.Vars.Interval);
        document.title = this.Vars.OriginalTitle;   
    }
}

Dies kann wie folgt verwendet werden:

PageTitleNotification.On("User logged out!");

In meinem folgenden Blogeintrag finden Sie weitere Informationen:

http://curtistimson.co.uk/js/create-a-flashing-tab-notification-page-title/

16
Curt

sie können den Seitentitel ändern und dieser wird auf der Registerkarte des Browsers angezeigt. Sie können jedoch nicht die Hintergrundfarbe ändern oder blinken lassen

1
hunter

Sie können auch ein alert - Fenster hinzufügen. Wenn sich der Benutzer auf einer anderen Registerkarte befindet, verfügt der Browser über eine integrierte Funktion zum Blinken der Registerkarten (mit Warnmeldung). Wenn Sie also den Dokumenttitel zusammen mit einer Warnmeldung ändern, wird dies Ihrem Zweck dienen. Hinweis: Bevor Sie einen Alarm anzeigen, müssen Sie zunächst prüfen, ob die Registerkarte aktiv ist.

0
Parish