jQuery removing hash value from URL
I have a hard coded URL like so:
https://bupacouk.bwa.local.internal.bupa.co.uk/cash-plan-quote/quoteAction.do?getBenefitLevelDetails=getBenefitLevelDetails&productPolicyId=7841#a1
When Javascript is enabled i don't want the hash value on the end so how do i remove it?
When Javascript is disabled it needs to be present.
Thanks.
EDI开发者_如何学运维T
Here is the AJAX jQuery that i am using. So i am pasisng the hard coded URL to the same page on the server and retrieving a table from it:
// 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>'));
});
}
});
original
It depends on what the hash value does. If it just moves the document down to #a1
, you just need to set scrollTop
to 0 after document has been loaded probably.
edit
looking on other stackoverflow questions,
parent.location.hash = ''
should do it, but maybe reloads the page (you have to test it)
Other than that, I advice you to handle it during/before your AJAX calls - i.e.
if (hash != 'a1'){ doAjax(); } //pseudocode obviously.
edit 2 with code based on posted code
Or, if you just need to call AJAX with url
without hash, you can delete it in string, that calls the jQuery, no?
var $tabValue = $(this).attr('href');
var $withoutHash = $tabValue.substr(0,$tabValue.indexOf('#'));
we basically get a's href
before first #
A simple window.location.hash=""
will do it.
This might be helpful to someone asking the same question, how to pull the data following a # in a href.
this.hash.slice(1);
This will give #123 as 123.
Edit: I should probably note, if you're going to be calculating numbers from this data, best to use parseInt(this.hash.slice(1));
or else you'll get funky results.
This works for me. I have added a !
to prevent the page from scrolling up.
window.location.hash="!";
精彩评论