JavaScript を使用した URL のハッシュの簡単な削除
Q: http://example.com#something のような URL がありますが、ページを更新せずに #something を削除したいです。 「window.location.hash = ''」を使用しても機能しませんでした。
A: HTML5 History API は洗練されたソリューションを提供します。これは、トリックを実行する JavaScript 関数です:
function removeHash () { history.pushState("", document.title, window.location.pathname + window.location.search); }
これは、Chrome、Firefox、Safari、Opera、さらには IE 10 などの主要なブラウザで動作します。
History API はサポートされていません:
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; } }
このソリューションは普遍的ではない可能性があります互換性がありますが、History API をサポートしていないブラウザに対して正常な機能低下が提供されます。
以上がリロードせずに JavaScript で URL のハッシュを簡単に削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。