2010-11-18 3 views
1

Hey alle, dieser Code soll lesen, was nach dem Hash in der URL kommt und ein bestimmtes div abhängig von diesem Wert anzeigen. Im Moment funktioniert es gut, außer wenn Sie versuchen, den Hash zu ändern, während Sie bereits auf der Site sind (oder wenn Sie die Zurück-Taste drücken, die den gleichen Effekt hat: ändert den Hash, aber div wird nicht geändert). Die Seite wurde so erstellt, dass sie nicht mit jeder Div-Änderung (dem Hauptinhalt der Seite) neu geladen wird. Daher nehme ich an, dass der Div sich nicht ändert, wenn Sie die Zurück-Taste drücken oder einen anderen Wert eingeben, nachdem der Hash-Wert da ist Die Seite ist bereits geladen, und der JavaScript-Code wird nur einmal beim Laden der Seite aufgerufen. Ich brauche eine Möglichkeit, dass sie immer dann aufgerufen wird, wenn die URL geändert wird. Hier ist der Code:Hash funktioniert nicht mit Zurück-Taste; Benötigen Sie Javascript, um Funktion auf URL-Änderung aufzurufen

function hash() { var hash = window.location.hash.replace('#',''); InsertContent(hash); }

Antwort

0

Ich fürchte, es ist nicht eine Wanze, es ist ein Feature. Opera speichert zum Beispiel den genauen Zustand einer Seite im Speicher. Wenn Sie also die Zurück-Taste drücken, wird dieser Zustand genau wiederhergestellt. Es ist so, als hättest du die Seite nie geändert.

Ändern der Hash sollte jedoch funktionieren, indem Sie InsertContent() aufrufen direkt nachdem Sie den Hash geändert haben. Funktioniert das nicht? Können Sie uns den Code zeigen?

0

jQuery hat ein Plugin "Adresse" genannt, dieses Problem zu adressieren

Verwandte Themen