2010-11-18 12 views
3

Ich erstelle ein JavaScript-Bookmarklet, das die Titelleiste dynamisch aktualisiert, aber es zeigt die Änderungen in IE nicht an (IE7 und IE8 habe ich versucht). Hier ist ein vereinfachtes Beispiel, das mein Problem zeigt:IE-Titel von Bookmarklet ändern

javascript:document.title='new title';alert(document.title); 

Beachten Sie, dass der Wert des in der Benachrichtigung aktualisiert wird, aber nicht auf der Titelleiste oder Registerkarte. Es funktioniert gut für mich in Chrome.

Antwort

5

Es ist ein Fehler in IE. Es ist möglich, um es zu arbeiten, indem sie die URL der Fragment-Kennung („Hash“) zu ändern, die für Ihre Zwecke können oder nicht durchführbar sein kann:

javascript:document.title='foobar';location.replace('#'+new Date().getTime()) 

new Date().getTime() wird verwendet, um eine eindeutige Nummer zu erhalten, die es unwahrscheinlich ist, verwendet werden, als Name oder ID irgendwo auf der Seite (so dass die Seite nicht wirklich scrollt).

+0

Ausgezeichnet. Das wird gut für mich funktionieren. Darn MS Bugs machen mich verrückt ... – Derek

0

Aus meiner Erfahrung aktualisieren die meisten Browser den neuen TITLE im Browserfenster oder Tab.

Allerdings scheint es mit IE-Browsern nur einmal eingestellt und dann ist es das - keine weiteren Updates. Wenn das wahr ist (würde auch gerne eine Lösung sehen), dann gibt es keinen Weg um sie herum.

+0

Es funktioniert gut für mich, wenn das Skript in den Inhalt der Webseite eingebettet ist, nur nicht aus der Adressleiste aus irgendeinem Grund. – Derek

Verwandte Themen