Wie erzwinge eine Seite neu zu laden, wenn alles, was in URL geändert wurde, Hash ist?

Ich versuche, aktuelle Seite neu laden mit verschiedenen hash-url, aber es funktioniert nicht wie erwartet.

(Klärung, wie ich das will: die Seite neu Laden und dann scrollen Sie zu dem neuen hash.)

Ansatz #1:

window.location.hash = "#" + newhash;

Nur Schriftrollen zu diesem Anker ohne Neuladen der Seite.

Ansatz #2:

window.location.hash = "#" + newhash;
window.location.reload(true);

Irgendwie funktioniert, aber es erste Schriftrollen auf den Anker, dann lädt die Seite, dann scrollt, um den Anker wieder.

Ansatz #3:

window.location.href = window.location.pathname + window.location.search + "&random=" + Math.round(Math.random()*100000) + "#" + newhash;

Funktioniert, aber ich würde lieber nicht hinzufügen zufälliger Müll an die url an.

Gibt es eine bessere Lösung?

InformationsquelleAutor der Frage serg | 2009-10-19

Schreibe einen Kommentar