首頁 > web前端 > js教程 > 如何使用 JavaScript 刪除 URL 哈希而不刷新頁面?

如何使用 JavaScript 刪除 URL 哈希而不刷新頁面?

Patricia Arquette
發布: 2024-11-30 10:53:10
原創
934 人瀏覽過

How Can I Remove a URL Hash Without Refreshing the Page Using JavaScript?

使用JavaScript 在不刷新頁面的情況下從URL 中刪除雜湊

使用URL 時,通常需要刪除雜湊片段( #something )而不導致頁面刷新。這可以使用 HTML5 History API 來實現,該 API 允許操作位置欄。

一個解決方案是:

window.location.hash = '';
登入後複製

但是,這只會刪除雜湊的內容,留下 # URL 中的符號。

更全面的解決方案:

function removeHash() {
    history.pushState("", document.title, window.location.pathname + window.location.search);
}
登入後複製

此方法適用於 Chrome, Firefox、Safari、Opera 和 IE 10。對於不支援的瀏覽器,可以使用優雅的降級腳本:

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 current scroll offset
        scrollV = document.body.scrollTop;
        scrollH = document.body.scrollLeft;

        loc.hash = "";

        // Restore scroll offset to avoid flickering
        document.body.scrollTop = scrollV;
        document.body.scrollLeft = scrollH;
    }
}
登入後複製

透過利用此技術,您可以有效地從URL 中刪除哈希,而無需無論瀏覽器是否支持,都會導致頁面重新整理.

以上是如何使用 JavaScript 刪除 URL 哈希而不刷新頁面?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板