0

私のサイトには外部リンクがないので、すべてのアンカータグを選択し$('a')、現在のハッシュタグ値をこれらすべてのhrefに追加することを考えていましたが、これは厄介なアプローチのようです。これを行うためのより良い方法はありますか?私のサイトのURLは次のようになります。www.rsadler.com/html/home.html#chairsAndTablesしかし、私のリンクのいずれかをクリックすると、ハッシュタグなしでURLが更新されます。ありがとう!

4

3 に答える 3

3

OPは実際にはページが変更されることを意味しましたが、ハッシュは後続の各ページに持ち越される必要があります。

$('a').each(function(){
    var href=this.href.split('#')[0];
    $(this).attr('href', href + window.location.hash);
});
于 2013-02-05T18:38:43.960 に答える
1

方法1:jQuery

$(document).ready(function() {
    $("a").each(function(){ this.src += window.location.hash; });
});

方法2:セッションCookie

window.onload = function() { 
    var winHash = window.location.hash;
    var cookieHash = unescape((document.cookie.match(new RegExp('\bhash=(.*?)(?:;|$)','i')) || [null,''])[1]);
    if(winHash == "" && cookieHash.length > 0)
        window.location.hash = cookieHash;
    else if(winHash != "")
        document.cookie = "hash=" + escape(winHash) + "; path=/";
}

上記のJavaScriptをテストしなかったため、構文エラーが発生する可能性があることに注意してください。

于 2013-02-05T18:55:06.953 に答える
0

リンクのクリックイベントハンドラー内のイベントでpreventDefaultを呼び出すと、ブラウザーが現在のURLを更新できなくなります。

于 2013-02-05T18:36:30.790 に答える