Heim >Web-Frontend >js-Tutorial >Wie kann ich das Hash-Symbol mithilfe von JavaScript aus einer URL entfernen, ohne die Seite neu zu laden?
Hash-Symbole aus URLs mit JavaScript entfernen
Das Entfernen des Hash-Symbols (#) aus einer URL ohne Aktualisierung der Seite erfordert etwas mehr Fingerspitzengefühl als einfach window.location.hash auf eine leere Zeichenfolge zu setzen.
Elegante Lösung für Moderne Browser
Die moderne HTML5 History API bietet eine elegante Lösung:
function removeHash() { history.pushState("", document.title, window.location.pathname + window.location.search); }
Beispieldemo:
https://jsfiddle. net/AndyE/ycmPt/
Größerer Browser Unterstützung
Für Browser ohne History-API-Unterstützung sollten Sie dieses elegant herabsetzende Skript in Betracht ziehen:
function removeHash() { var scrollV = document.body.scrollTop; var scrollH = document.body.scrollLeft; var loc = window.location; if ("pushState" in history) { history.pushState("", document.title, loc.pathname + loc.search); } else { loc.hash = ""; document.body.scrollTop = scrollV; document.body.scrollLeft = scrollH; } }
Vorbehalt
Während diese Lösung entfernen kann Wenn Sie das Hash-Symbol verwenden, ist zu beachten, dass es möglicherweise nicht in allen Browsern funktioniert, insbesondere nicht in älteren Versionen.
Zusätzlicher Hinweis:
Um die aktuelle Seite im Browserverlauf zu ersetzen, verwenden Sie replaceState() anstelle von pushState().
Das obige ist der detaillierte Inhalt vonWie kann ich das Hash-Symbol mithilfe von JavaScript aus einer URL entfernen, ohne die Seite neu zu laden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!