私は次のようなハードコードされたURLを持っています:
https://bupacouk.bwa.local.internal.bupa.co.uk/cash-plan-quote/quoteAction.do?getBenefitLevelDetails=getBenefitLevelDetails&productPolicyId=7841#a1
Javascriptが有効になっている場合、最後にハッシュ値が必要ないので、どのように削除しますか?
Javascriptが無効になっている場合は、存在する必要があります。
ありがとう。
ここにAJAX使用しているjQueryがあります。そのため、サーバー上の同じページへのハードコードされたURLをパスし、そこからテーブルを取得しています。
// Find href of current tab
var $tabValue = $(this).attr('href');
// AJAX new table in
$.ajax({
type: "GET",
cache: false,
url: $(this).attr('href'),
success: function(data){
// Find benefit wrap
$(data).find('.benefitWrap').each(function(){
// get the contents
var $benefitWrap = $(this).html();
// replace contents on page
$('.benefitWrap').replaceWith($('<div class="benefitWrap">' + $benefitWrap + '</div>'));
});
}
});
ハッシュ値が何をするかによります。ドキュメントを#a1
に移動するだけの場合は、おそらくドキュメントがロードされた後でscrollTop
を0に設定する必要があります。
他のスタックオーバーフローの質問を見て、
parent.location.hash = ''
それを行うべきですが、たぶんはページをリロードします(テストする必要があります)
それ以外は、AJAXの呼び出し中/前に処理することをお勧めします。
if (hash != 'a1'){ doAjax(); } //pseudocode obviously.
または、単にAJAX with url
without hash)を呼び出す必要がある場合は、jQueryを呼び出す文字列から削除できますか?
var $tabValue = $(this).attr('href');
var $withoutHash = $tabValue.substr(0,$tabValue.indexOf('#'));
基本的に、最初の#
の前にaのhref
を取得します
シンプルな window.location.hash=""
はそれを行います。
これは、同じ質問をする人、hrefの#に続くデータをプルする方法に役立つ場合があります。
_this.hash.slice(1);
_
これは、123を123として与えます。
編集:このデータから数値を計算する場合は、parseInt(this.hash.slice(1));
を使用するのが最善です。そうしないと、ファンキーな結果が得られます。
これでうまくいきます。ページが上にスクロールしないように!
を追加しました。
window.location.hash="!";