Ich habe eine Funktion geschrieben, die die Seite ohne Post-Submission neu lädt und auch mit Hashes funktioniert.
Dazu füge ich einen GET-Parameter in der aufgerufenen URL hinzu / ändere ihn, indem ich reload
seinen Wert mit dem aktuellen Zeitstempel in ms aktualisiere.
var reload = function () {
var regex = new RegExp("([?;&])reload[^&;]*[;&]?");
var query = window.location.href.split('#')[0].replace(regex, "$1").replace(/&$/, '');
window.location.href =
(window.location.href.indexOf('?') < 0 ? "?" : query + (query.slice(-1) != "?" ? "&" : ""))
+ "reload=" + new Date().getTime() + window.location.hash;
};
Denken Sie daran, wenn Sie diese Funktion in einem href-Attribut auslösen möchten, implementieren Sie sie folgendermaßen: Damit href="javascript:reload();void 0;"
sie erfolgreich funktioniert.
Der Nachteil meiner Lösung ist, dass die URL geändert wird, sodass dieses "Neuladen" kein echtes Neuladen ist, sondern ein Laden mit einer anderen Abfrage. Trotzdem könnte es Ihren Bedürfnissen entsprechen, so wie es für mich der Fall ist.