Heim >Web-Frontend >js-Tutorial >Wie kann ich das Hash-Symbol mithilfe von JavaScript aus einer URL entfernen, ohne die Seite neu zu laden?

Wie kann ich das Hash-Symbol mithilfe von JavaScript aus einer URL entfernen, ohne die Seite neu zu laden?

Susan Sarandon
Susan SarandonOriginal
2024-11-29 10:57:10838Durchsuche

How Can I Remove the Hash Symbol from a URL Using JavaScript Without Reloading the Page?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn