ajaxを使用してコンテンツをロードするページがいくつかあり、ページにディープリンクする必要がある場合がいくつかあります。「ユーザー」へのリンクを設定して「設定」をクリックするように指示する代わりに、ユーザーをuser.aspx#settingsにリンクできると便利です。
セクション(テクニカルサポートなど)への正しいリンクを人々に提供できるようにするために、ボタンがクリックされるたびにURLのハッシュを自動的に変更するように設定しています。もちろん、唯一の問題は、これが発生すると、ページをこの要素までスクロールすることです。
これを無効にする方法はありますか?以下はこれまでのところ私がこれをやっている方法です。
$(function(){
//This emulates a click on the correct button on page load
if(document.location.hash){
$("#buttons li a").removeClass('selected');
s=$(document.location.hash).addClass('selected').attr("href").replace("javascript:","");
eval(s);
}
//Click a button to change the hash
$("#buttons li a").click(function(){
$("#buttons li a").removeClass('selected');
$(this).addClass('selected');
document.location.hash=$(this).attr("id")
//return false;
});
});
return false;
ページがスクロールしないようにしたいと思っていましたが、リンクがまったく機能しなくなりました。今はコメントアウトされているので、ナビゲートできます。
何か案は?