我有一个硬编码的 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即可。
编辑
查看其他 stackoverflow 问题,
parent.location.hash = ''
应该这样做,但是也许会重新加载页面(您必须测试它)
除此之外,我建议您在 AJAX 调用期间/之前处理它 - 即
if (hash != 'a1'){ doAjax(); } //pseudocode obviously.
使用基于发布的代码的代码编辑2
或者,如果您只需要使用 url
不带哈希值来调用 AJAX,您可以在调用 jQuery 的字符串中删除它,不是吗?
var $tabValue = $(this).attr('href');
var $withoutHash = $tabValue.substr(0,$tabValue.indexOf('#'));
我们基本上在第一个#
之前得到a的href
关于javascript - jQuery 从 URL 中删除哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2385897/