Archive for Juni 12th, 2009
IE: Hash im Browserfenster Seitentitel verstecken
Wenn man sich an der URL mit Hilfe des Hashs Sachen für die Ajax History merken möchte, hat mir der IE den gesamten Hash auch immer mit in den Seitentitel des Browserfensters geschrieben. Dies ist ein bekannter IE Bug. Auf der Seite http://bugs.adobe.com/jira/browse/FP-240 wurde dies in Bezug auf Flash gelöst. Dies hat mir leider nicht geholfen. Nach ewigem Rumprobieren, kam ich auf die Idee, den Hash einfach mit ganz vielen Leerzeichen aus dem sichtbaren Bereich im Browserfenster „herauszudrücken“.
Schreibt man einen Seitentitel im HTML selbst, kann man dies mit dem HTML Entity machen. Dies geht zwar im JavaScript auch, funktioniert aber nicht. Ebenso führt decodeURIComponent(‚%20%20%20%20%20‘) nicht zum Erfolg.
Dann bin ich durch diese Seite auf den soft separator \u00a0 gestoßen und *Bing* schon gings.
- Ich merke mir allgemein den Original Seitentitel.
- Nachdem ich den Hash an die URL geschrieben habe rufe ich die Funktion (nur für den IE) auf.
- Diese nimmt den Original Titel, ergänzt gaaaaanz viele Leerzeichen und verschiebt so den Hash im IE aus dem sichtbaren Bereich im Browserfenster. Einfach, aber effektiv.
document.originalTitle = document.title;
function setPageTitleForIE() { var title = document.originalTitle; // get the original titletitle += '\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0';
title += '\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0';
title += '\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0';
document.title = title;
}