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