4

window.location.hash=''Firefox でリロードされるページを使用して URL からハッシュを削除した後。

編集

例:

wwww.Mysite.come/#page=1

ボタンをクリックすると、次のコードを使用してハッシュ値を削除しています

window.location.hash=''

ハッシュ ページを削除した後、Firefox でリロードされます。

ページをリロードしたくありません URL からハッシュを削除したいだけです

修正方法は?

4

5 に答える 5

22

他の誰かがまだこれに対する解決策を探している場合に備えて。ページが読み込まれるときにこれを試してください。

history.pushState("", document.title, window.location.pathname);
于 2013-05-23T16:54:06.607 に答える
4

https://developer.mozilla.org/en/DOM/window.locationから:

location オブジェクトのプロパティが変更されるたびに、変更された URL で window.location.assign() が呼び出されたかのように、その URL を使用してドキュメントが読み込まれます。

この質問は、jQueryを使用してあなたが望むものに対処していると思います:

jQuery でリロードせずにハッシュを変更する

その他の関連する質問:

JavaScript を使用して新しいページを読み込まずにブラウザで URL を変更する

ページを更新せずにJavaScriptでwindow.locationからハッシュを削除するには?

ページのリロードを作成せずに Firefox の window.location.hash を変更するにはどうすればよいですか?

于 2012-04-05T09:54:48.737 に答える
2

私の理解が正しければ、

<a href="#someElementID" id="myLinkName">Some Text</a>

ブラウザーで上記のリンクをクリックすると、通常、アドレス バーにwww.websitename.com#someElementIDのようなハッシュが追加されます<-これは、防止しようとしているものです。

私がテストしたばかりの解決策は、機能していてページを更新しません:

event.preventDefault();

これは、上記のアンカー タグの例のように、要素の ID にリンクするアンカー タグを含む「click()」イベントで機能します。実際には、「click()」イベントでは次のようになります。

<script>
    $('#myLinkName').click(function(){
        event.preventDefault();
        //the rest of the function is the same.
    });
</script>

ここで、同じリンクをクリックすると、アドレス バーには同じ URL www.websitename.com が残りますが、アンカーをクリックしてハッシュが追加されることはありません。

于 2013-07-15T09:33:37.037 に答える