Am Ende der Gtalk-Software gibt es eine sehr gute und praktische Funktion, nämlich die Gmail-E-Mail-Erinnerungsfunktion. Die Anzahl neuer ungelesener E-Mails in Ihrem Gmail wird regelmäßig aktualisiert.
Stellen Sie sich vor, wie interessant es wäre, wenn wir diese Funktion auf Firefox portieren würden!
Der erste Schritt besteht darin, Symbole und Daten in der Statusleiste anzuzeigen .
Durch den Artikel „ So erstellen Sie eine Jetpack-Erweiterung für Firefox “ können wir ganz einfach Folgendes erstellen:
jetpack.statusBar.append({
html: '<img src="http://mail.google.com/mail/images/favicon.ico"/><span id="count"></span>', //Gmail-Mail-Symbol und ungelesene Nummer neuer Nachrichten
width: 55, //Die Breite der Statusleiste beträgt 55
onReady: function(widget) {
$("#count", widget).css({ //Stil zur Anzahl ungelesener neuer E-Mails hinzufügen
Cursor: „Zeiger“,
paddingLeft:"4px",
Schriftfamilie: „Tahoma, Arial, Sans-Serif“,
VerticalAlign: „oben“,
Schriftgröße: „10px“,
lineHeight:"18px",
});
}
});
Der zweite Schritt besteht darin, Gmail-Daten abzurufen und die Anzahl ungelesener neuer E-Mails zu aktualisieren.
Es kann über den Gmail-Mail-Feed abgerufen werden (Anmeldung erforderlich): https://mail.google.com/mail/feed/atom
Das fullcount-Tag im Feed-Quellcode wird verwendet, um die aktuelle Anzahl ungelesener neuer E-Mails zu erfassen.
OK, zunächst ist die Datenquelle verfügbar. Als nächstes nutzen wir die bekannte Ajax-Technologie, um die Daten abzurufen und sie dem angegebenen Element zuzuordnen.
Funktionsaktualisierung(Widget) {
var widget = $(widget);
$.get(" https://mail.google.com/mail/feed/atom ", function(xml) {
var el = $(xml).find("fullcount"); // Knoten, der die Anzahl ungelesener neuer E-Mails aufzeichnet
if(el){
var newcount = parseInt(el.get(0).textContent);
widget.find("#count").text(newcount); // Dem angegebenen Element zuweisen
} else { //Wenn nicht angemeldet, wird „Login“ angezeigt.
widget.find("#count").text( "Login" );
}
});
}
Wir können auch einige Optimierungen vornehmen: zum Beispiel, wenn die Anzahl der ungelesenen neuen E-Mails größer ist als die ursprüngliche Anzahl der E-Mails, indem wir Eingabeaufforderungsinformationen hinzufügen usw.
Die Methode jetpack.notifications.show(options) wird für Eingabeaufforderungsinformationen verwendet. Der Optionsparameter hat drei Attribute: Titel (String): der Titel des Benachrichtigungssymbols (String); : der Betreffinhalt der Benachrichtigung.
Der optimierte Code lautet wie folgt:
Var-Anzahl = 0;
Funktionsaktualisierung(Widget) {
var widget = $(widget),
notify = function(msg) { // Öffentliche Methode zum Definieren von Benachrichtigungen
jetpack.notifications.show({
Titel: „Gmail“,
Körper: Nachricht,
Symbol: „ http://mail.google.com/mail/images/favicon.ico “
});
};
$.get(" https://mail.google.com/mail/feed/atom ", function(xml) {
var el = $(xml).find("fullcount"); // Knoten, der die Anzahl ungelesener neuer E-Mails aufzeichnet
if(el){
var newcount = parseInt(el.get(0).textContent);
if(newcount > count) { // Wenn die Anzahl der ungelesenen neuen E-Mails größer ist als die Anzahl der ursprünglichen E-Mails, woher kommt dann die Aufforderung?
var sender = $(xml).find("name").get(0).textContent;
notify("Neue Nachricht von "+sender);
}
count = newcount;
widget.find("#count").text(count); // Dem angegebenen Element zuweisen
} else { //Wenn Sie nicht angemeldet sind, werden Sie zur Anmeldung aufgefordert
widget.find("#count").text( "Login" );
notify("Bitte melden Sie sich bei Gmail an");
}
});
}