jQuery удаление хэш-значения из URL
У меня есть жестко закодированный 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>'));
});
}
});
3 ответов
оригинал
это зависит от того, что хэш-значение. Если он просто перемещает документ вниз до #a1
, вам просто нужно установить scrollTop
до 0 после загрузки документа, вероятно.
редактировать
глядя на другие вопросы stackoverflow,
parent.location.hash = ''
должен делать это, но может быть перезагружает страницу (вы должны проверить это)
кроме этого, я советую вам обрабатывать его во время / до ваших вызовов AJAX-т. е.
if (hash != 'a1'){ doAjax(); } //pseudocode obviously.
Изменить 2 С код на выложили код
или, если вам просто нужно позвонить AJAX с url
без хэш, вы можете удалить его в строке, которая вызывает jQuery, нет?
var $tabValue = $(this).attr('href');
var $withoutHash = $tabValue.substr(0,$tabValue.indexOf('#'));
мы в основном получаем по href
до первого #
Это может быть полезно для тех, кто задает тот же вопрос, как вытащить данные после # в href.
this.hash.slice(1);
это даст #123, а 123.
Edit: я должен, вероятно, отметить, если вы собираетесь вычислять числа из этих данных, лучше всего использовать parseInt(this.hash.slice(1));
или вы получите фанки результаты.