2012-12-03 2 views
5

Ich weiß, dass zum Ändern des Namens der Registerkarte, in der Browser die Website öffnet, ich das title-Tag in der HTML-Datei ändern muss.GWT: Wie kann ich den Tabnamen des Browsers ändern?

Aber in GWT sind die Dinge ein bisschen anders: jeder neue Ort verwendet die gleiche HTML-Datei, so dass der Name des Browsers für alle Orte gleich ist.

  1. Wie kann ich einen Namen für jeden meiner Orte angeben?
  2. Diese Idee oben funktioniert nicht in IE 9. In IE 9 sehe ich www.my-site.com/#my-place-name: Name des Browser-Tab angezeigt anstelle des Inhalts des title-Tags. Wie kann ich es für IE auch arbeiten lassen?
+0

jede Chance IE9 versucht IE8-Version Ihres GWT App zu laden. Überprüfen Sie, ob Ihr gwt Modul ie9 user agent hat? – SSR

Antwort

5

Sie können den Titel der Seite mit dem folgenden Code

Window.setTitle("My Place Name"); 

Merkst ändern, dass der Ort, die diese die neuesten seinen Titel wird eingestellt nennen.

+0

Ich denke, die Frage erwähnt bereits die Verwendung von Titel-Tag. Er fragt über ie9 spezifisches Problem ab. – SSR

+0

Nein @SachinShekharR, das OP fragt speziell, wie man den Titel dynamisch ändert, abhängig vom aktuellen Platz in der App. Es * fragt * auch nach IE9, aber vielleicht würde das durch diesen Aufruf von 'setTitle' behoben werden (TBH, ich habe mich nie darum gekümmert, den Titel zu aktualisieren) –

+0

Dies ist sehr nützlich für den Browserverlauf, wenn ein Benutzer ein paar Plätze zurückspringen möchte (zB zu einer bestimmten Produktseite, Künstlerseite usw.) oder einen Platz im Browserverlauf finden. Andernfalls zeigt ein Browser jeden Ort in Ihrer App mit exakt demselben Titel an. –

1

Sie können den Seitentitel ändern (zum Beispiel "Tab Namen") durch einen Aufruf eine statische Funktion in GWT:

import com.google.gwt.dom.client.Document; 
... 
public static void setBrowserWindowTitle (String newTitle) { 
    if (Document.get() != null) { 
     Document.get().setTitle (newTitle); 
    } 
}