javascript - 読み込み - var params




ウィンドウのURLハッシュを別の応答に置き換えるにはどうすればよいですか? (2)

私は、置換されたメソッドでハッシュされたURL(document.location.hash)を変更しようとしていますが、動作しません。

$(function(){
 var anchor = document.location.hash;
 //this returns me a string value like '#categories'

  $('span').click(function(){

     $(window).attr('url').replace(anchor,'#food');
     //try to change current url.hash '#categories'
     //with another string, I stucked here.
  });

});

私は変更/ページをリフレッシュしたくない、私はちょうど任意の応答なしでURLを置き換えたいと思う。

注:私はこれをhref = "#food"の解決策で解決したくありません。


window.location代わりにlocationまたはwindow.location使用するかwindow.locationかは、後者が非標準であるためです。

window.location.hash = '#food';

これにより、URLのハッシュが設定した値に置き換えられます。

Reference


あなたはこの質問の答えを好むかもしれません 。

違いはhistory.replaceState()ではアンカーにスクロールせず、ナビゲーションバーでのみ置き換えます。 これは、すべての主要なブラウザでサポートされています。

history.replaceState(undefined, undefined, "#hash_value")






attr