Die Titelleiste des IE und jedes aktuellen Browsers sollte ursprünglich über das HTML-Tag <title> gesteuert werden, und das ist natürlich auch immer noch der Fall. Es ist nur so, dass der aktuelle Geistertrend darin besteht, dass Sie Ihre Webseite besser nicht mehr aktualisieren sollten und dann jegliche Verwüstung seitens der Benutzer in Kauf nehmen sollten. Das ist die legendäre paradoxe Ajax-Technologie, die Menschen spurlos tötet!
Die Anzeige eines passenden Seitentitels in der Titelleiste des Browsers ist ein professioneller Ausdruck einer Webseite und zudem suchmaschinenfreundlich. Natürlich wäre es auch sehr sinnvoll, wenn entsprechende zeitnahe Informationen platziert werden. Wie kann man also den Titelinhalt „dynamisch“ anpassen?
Wir wissen, dass wir ASP verwenden können, um den Browsertitel dynamisch zu ändern. Dies ist wahrscheinlich eine Anweisung wie diese:
<title><% = GenerateTitle %></title>
In ASP.NET 1.1 zusätzlich zur Verwendung der oben genannten Methode Wir haben noch eine weitere „schöne“ Art, auszusehen:
Auf der ASPX-Seite:
<title id="cltTitle" runat="server"></title>
In der CS-Datei:
protected HtmlGeneralControl cltTitle;
. .
cltTitle.innerHtml = "birdshome's homepage";
Heute
ist die ASP.NET 2.0-Ära. Zusätzlich zu den beiden oben genannten Methoden können wir den <title>-Inhalt auch einfacher ändern:
Page.Title = "birdshome's homepage";
Das obige „dynamische“ Der Inhalt von <title> wird auf der Serverseite geändert. Tatsächlich ist der Inhalt im <title>-Tag für den Browser vollständig festgelegt. Kommen wir zurück zum Punkt und sprechen wir ausführlich über die Steuerung der Titelleiste des IE-Browsers auf dem Client:
Für Seiten im IE-Fenster wird im Seiten-DOM-Objekt das Attribut document.title verwendet, um das innerHTML des zu ersetzen <title>-Element zum Abrufen und Festlegen des IE-Inhalts der Fenstertitelleiste. Betrachten Sie das folgende Beispiel:
<html>
<Körper>
<!-- Seiteninhalt -->
<script language="javascript">
document.body.onload = function()
{
document.title = "birdshomes Homepage";
};
</script>
</body>
</html>
Ja, es ist so einfach, die Titelleiste eines gewöhnlichen IE-Fensters festzulegen. Was gibt es also zu sagen? Was wäre, wenn wir zu diesem Zeitpunkt genau denselben Code zur Ausführung in das modale Fenster einfügen würden? Wird die Titelleiste des modalen Fensters geändert? Die Ergebnisse des Experiments waren frustrierend. Der exakt gleiche Code schlug im modalen Fenster fehl. Unterscheidet sich das vom modalen Fenster bereitgestellte DOM von dem des normalen Fensters? Tatsächlich ist das DOM des modalen Fensters dasselbe wie das des normalen Fensters, der Unterschied besteht jedoch darin, dass das Attribut document.title nach dem Laden der Seite im modalen Fenster tatsächlich ungültig wird. Aus diesem Grund hat die Anweisung im onload-Ereignis des obigen Beispielcodes keine Wirkung. Die Möglichkeit, diese Einschränkung zu lösen, besteht darin, den document.title vor dem Laden der Seite zu ändern. Um die IE-Titelleiste im modalen Fenster zu ändern, sollten Sie daher diesen Code verwenden:
<html>
<Körper>
<!-- Seiteninhalt -->
<script language="javascript">
document.title = "birdshomes Homepage";
</script>
</body>
</html>
Das Folgende ist ein Beispiel, das die beiden oben genannten Methoden zum Ändern der Browser-Titelleiste enthält. Speichern Sie sie als „abc.htm“-Datei und Sie können den Unterschied intuitiv erkennen:
<html>
<Körper>
<button onclick="foo()">
Öffnen</button>
<script language="javascript">
document.body.onload = function()
{
document.title = "birdshome's Homepage (neu schreiben)" + unescape(H_A0);
};
document.title = "birdshome's homepage (first)" + unescape(H_A0)
;
{
window.showModalDialog("abc.htm");
}
</script>
</body>
</html>
Das Ergebnis ist, dass sich die Titelleiste des normalen IE-Fensters schnell von „Birdshomes Homepage (zuerst)“ in „Birdshomes Homepage (umschreiben)“ ändert, während der Titel des modalen Dialogfelds mit der Schaltfläche „Öffnen“ geöffnet wird wird immer „die Homepage von Birdshome (zuerst)“ sein. Anhand dieses Beispiels können wir erkennen, dass die Titelleiste eines gewöhnlichen IE-Fensters jederzeit während der Lebensdauer der Seite geändert werden kann. Die Titelleiste des modalen Fensters können wir nur ändern, bevor die Seite geladen wird (bevor das Onload-Ereignis ausgelöst wird). Das nichtmodale Dialogfeld, das von showModelessDialog geöffnet wird, behandelt die Titelleiste genauso wie das modale Dialogfeld.
Lassen Sie uns abschließend über eine Technik bei der Verwendung von document.title sprechen. Wir wissen, dass wir zwischen den <title></title>-Tags schreiben können, um fortlaufende Leerzeichen zu erzeugen Geben Sie in der Titelleiste den Effekt ein. Diese Technik ist besonders in modalen Fenstern nützlich, damit wir den lästigen „-Web Page Dialog“-Text mit fortlaufenden Leerzeichen aus der Titelleiste verdrängen können. Nachdem Sie das Attribut document.title zum Ändern der Seitentitelleiste verwendet haben, können „ “ und „“ (Leerzeichen) nicht direkt in der Titelleiste angezeigt werden eine Zeichenfolge, und letztere hat, egal wie viel Sie hinzufügen, nur den Breiteneffekt eines „“ (Leerzeichens). Hier müssen wir einen anderen Raum, Entity , verwenden, um dieses Problem zu lösen. Der Code lautet wie folgt:
<html>
<Körper>
<script language="javascript">
var HexA0s = "%A0 %A0 %A0 %A0";
document.body.onload = function()
{
document.title = "birdshome's Homepage (neu schreiben)" + unescape(HexA0s);
};
</script>
</body>
</html>
http://birdshome.cnblogs.com/archive/2006/06/23/control_browser_title.html