ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript を使用してページを更新せずに URL ハッシュを削除するにはどうすればよいですか?

JavaScript を使用してページを更新せずに URL ハッシュを削除するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-30 10:53:10
オリジナル
937 人が閲覧しました

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

JavaScript を使用してページを更新せずに URL からハッシュを削除する

URL を操作する場合、ハッシュ フラグメント (#something) を削除することが望ましいことがよくあります。 ) ページを更新せずに。これは、ロケーション バーの操作を可能にする HTML5 History API を使用して実現できます。

1 つの解決策は次のとおりです。

window.location.hash = '';
ログイン後にコピー

ただし、これではハッシュのコンテンツが削除されるだけで、# は残ります。

より包括的なソリューションの場合:

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 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート