Es ist sehr häufig, den Webtitel zu verwenden, um Benutzer für neue Nachrichten wie Weibo und einige E -Mail -Adressen zu fordern, die sehr häufig sind. Wie implementiere ich eine Funktion?
Die Idee ist: Greifen Sie auf den Hintergrund über AJAX zu. Beispiel: [Sie haben neue Nachrichten] und [] Umschalten. Der schnelle Inhalt ist dynamisch, so dass die Anzahl der Leerzeichen im Ersatztext auch berechnet wird. Verwenden Sie hier die Räume in voller Breite. Wenn jedoch in der Eingabeaufforderungsnachricht eine halbe Breite wie "Nummer" enthalten ist, wird es Probleme geben. Die Räume in der vollen Breite sind viel breiter als die Breite der Halbbreite 1. Auf diese Weise ist es nicht sehr bequem zu blinken.
Aber document.title = ''; Egal wie viele Halbbreitenplätze sind, der Browser zeigt nur einen an. Wenn es verwendet wird, gibt es wie ist nur var t = document. Holen Sie sich das Title -DOM -Objekt und ändern Sie es durch T.innerhtml = ''.
Aber wird es so reibungslos verlaufen, natürlich nicht. Unser süßer IE wird zu dieser Zeit immer herauskommen, um Ärger zu machen. Im IE-Browser ist der innere Titel des Titels schreibgeschützt (nicht nur der Titel, sondern die Innerhtml-Attribute von Col, Colgroup, Frameset, HTML, Stil, Tabelle, TBODY, TFOOT, THE TR sind schreibgeschützt). Wenn eine erzwungene Zuordnung erfolgt, tritt ein "unbekannter Laufzeitfehler" auf. Gegenwärtig habe ich keine sehr gute Lösung gefunden, daher kann ich nur versuchen
Teilen Sie den Quellcode:
Die Codekopie lautet wie folgt:
<script type = "text/javaScript" Sprache = "JavaScript">
var flashTitleplayer = {
Start: Funktion (msg) {
this.title = document.title;
if (! this.action) {
versuchen {
this.element = document.getElementsByTagName ('title') [0];
this.element.innerhtml = this.title;
this.action = function (ttl) {
this.element.innerhtml = ttl;
};
} catch (e) {
this.action = function (ttl) {
document.title = ttl;
}
Löschen Sie diese. Element;
}
this.toggletitle = function () {
this.action ('【' + this.messages [this.index = this.index == 0? 1: 0] + '] Willkommen zu einfacher moderner Magie ");
};
}
this.messages = [msg];
var n = msg.length;
var s = '';
if (this.element) {
var num = msg.match (// w/g);
if (num! = null) {
var n2 = num.length;
n -= n2;
while (n2> 0) {
s += "";
n2--;
}
}
}
while (n> 0) {
s += '';
N--;
};
this.messages.push (s);
this.index = 0;
this.timer = setInterval (function () {
flashTitlePlayer.toggletitle ();
}, 1000);
},
STOP: function () {
if (this.timer) {
ClearInterval (this.timer);
this.action (this.title);
Löschen Sie dies. Timer;
Löschen Sie diese. Messages;
}
}
};
Funktion FlashTitle (msg) {
FlashTitlePlayer.Start (MSG);
}
Funktion stopflash () {
FlashTitlePlayer.Stop ();
}
</script>
Firefox, kein Problem unter Chrom, kein Problem, wenn der IE aufgefordert wird, dass eine oder keine halbe Breite in der Nachricht enthält.