Heim > Web-Frontend > js-Tutorial > Wie können Benutzer Browser-Nachrichtenerinnerungen erhalten?

Wie können Benutzer Browser-Nachrichtenerinnerungen erhalten?

零下一度
Freigeben: 2017-06-26 11:46:36
Original
3695 Leute haben es durchsucht

Wie können Benutzer rechtzeitig Nachrichtenerinnerungen erhalten, auch wenn der Browser minimiert ist? Dieses Problem muss als webRd direkt angegangen werden. Es kann grob in zwei Szenarien unterteilt werden: Das eine ähnelt einer Desktop-Benachrichtigung und das andere ähnelt einer QQ-Erinnerung (blinkt und wird dann in der System-Taskleiste hervorgehoben). sie separat:

Desktop-Erinnerung:

Dieser H5 hat eine leistungsstarke API, ja, es ist Benachrichtigung, noch nie davon gehört? Lassen Sie uns zunächst etwas darüber erfahren, es ist sehr detailliert; verschiedene Browser bieten unterschiedliche Unterstützungsstufen. Um es einfach auszudrücken: Es gibt Kompatibilitätsprobleme, die auf Notification basieren und Folgendes unterstützen: IE9+. Safari6, Firefox, Chrome ;Nun, das ist alles das Ergebnis von Senioren, ich bin nur ein Ladenbesitzer, hier ist eine einfache Demo:

ps: Gibt es eine nützliche Klassenbibliothek, die nur zum Üben dient? ...eigentlich nutze ich besser die Klassenbibliothek;

<br>
Nach dem Login kopieren
function _Notification(title,option){
    var Notification = window.Notification || window.mozNotification || window.webkitNotification;
    Notification.permission === "granted"?creatNotification(title, option):requestPermission(title, option);
    function creatNotification(title, option){
       var instance = new Notification(title, option);
        instance.onclick = function () {
            console.log('onclick');
        };
        instance.onerror = function () {
            console.log('onerror');
        };
        instance.onshow = function () {
            console.log('onshow');
        };
        instance.onclose = function () {
            console.log("close")
        }
    }
    function requestPermission(title, option){
        Notification.requestPermission(function(status) {
            status === "granted"?creatNotification(title, option):failNotification(title);
        });
    }
    function failNotification(title){
        var timer;
        return function(timer){
            var index = 0;
            clearInterval(timer);
            timer = setInterval(function() {
                if(index%2) {
                    document.head.getElementsByTagName("title")[0].innerHTML = '【   】'+ title;
                }else {
                    document.head.getElementsByTagName("title")[0].innerHTML = '【新消息】'+ title;
                }
                index++;
                if(index > 20) {
                    clearInterval(timer);
                }
            }, 500);
        }(timer);
    }
}
Nach dem Login kopieren
 <br>
Nach dem Login kopieren

Erinnerung an die Taskleiste:

Das ist wirklich ein Problem; Was die endgültige Lösung betrifft, hat der Autor sie noch nicht untersucht. window.open Diese Art von Popup-Fenster löst jedoch eine blinkende Erinnerung aus, muss jedoch das Problem lösen, dass Benutzer Popup-Fenster verbieten Übermittlung ||. Mit dieser Methode können die meisten Probleme gelöst werden. Der Autor möchte jedoch nicht, dass der Inhalt der Eingabeaufforderung angezeigt wird -Up-Fenster kann der Benutzer leicht verwirrt sein. Warum gibt es mehrere Titelleisten, wenn eine Eingabeaufforderung angezeigt wird? Es ist sehr ärgerlich. Es scheint, dass auch ein Speicherüberlauf möglich ist, aber vergessen Sie es, es sei denn, Ihr Gehirn ist überflutet. .; Ich freue mich auf Gottes Führung...;

Das obige ist der detaillierte Inhalt vonWie können Benutzer Browser-Nachrichtenerinnerungen erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage