Heim > Web-Frontend > js-Tutorial > Wie entferne ich mühelos den Hash einer URL in JavaScript, ohne sie neu zu laden?

Wie entferne ich mühelos den Hash einer URL in JavaScript, ohne sie neu zu laden?

Barbara Streisand
Freigeben: 2024-11-30 04:11:10
Original
414 Leute haben es durchsucht

How to Effortlessly Remove a URL's Hash in JavaScript Without Reloading?

Müheloses Entfernen des URL-Hash mit JavaScript

F: Ich habe eine URL wie http://example.com#something und Ich möchte #etwas entfernen, ohne die Seite zu aktualisieren. Die Verwendung von „window.location.hash = ''“ hat nicht funktioniert.

A: Die HTML5 History API bietet eine elegante Lösung. Hier ist eine JavaScript-Funktion, die den Zweck erfüllt:

function removeHash () {
    history.pushState("", document.title, window.location.pathname
                                                       + window.location.search);
}
Nach dem Login kopieren

Dies funktioniert in gängigen Browsern wie Chrome, Firefox, Safari, Opera und sogar IE 10.

Für Browser, die dies nicht tun Unterstützt die History-API nicht:

function removeHash () {
    var scrollV, scrollH, loc = window.location;
    if ("pushState" in history)
        history.pushState("", document.title, loc.pathname + loc.search);
    else {
        // Prevent scrolling by storing the current scroll offset
        scrollV = document.body.scrollTop;
        scrollH = document.body.scrollLeft;

        loc.hash = "";

        // Restore the scroll offset to prevent flickering
        document.body.scrollTop = scrollV;
        document.body.scrollLeft = scrollH;
    }
}
Nach dem Login kopieren

Diese Lösung ist möglicherweise nicht universell kompatibel, bietet aber eine ordnungsgemäße Verschlechterung Browser, die die History-API nicht unterstützen.

Das obige ist der detaillierte Inhalt vonWie entferne ich mühelos den Hash einer URL in JavaScript, ohne sie neu zu laden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage