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

ページをリロードせずに、JavaScript を使用して URL からハッシュ シンボルを削除するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-29 10:57:10871ブラウズ

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

JavaScript を使用して URL からハッシュ記号を削除する

ページを更新せずに URL からハッシュ記号 (#) を削除するには、さらに高度な技術が必要です単に window.location.hash を空に設定するよりもstring.

最新のブラウザ向けのエレガントなソリューション

最新の HTML5 History API は、エレガントなソリューションを提供します。

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

例デモ:

https://jsfiddle.net/AndyE/ycmPt/

幅広いブラウザーのサポート

履歴 API サポートが不足しているブラウザー用、これは優雅に品位を下げるものだと考えてくださいscript:

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;
  }
}

警告

この解決策はハッシュ記号を削除できますが、すべてのブラウザ、特に古いバージョンでは機能しない可能性があることに注意してください。

補足:

置き換えるにはブラウザ履歴の現在のページでは、pushState() の代わりに replaceState() を使用します。

以上がページをリロードせずに、JavaScript を使用して URL からハッシュ シンボルを削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。