我有以下代码:
if(window.location.hash){
var hash = window.location.hash.substring(1);
}
var hash = window.location.hash.substring(1);
if(hash.length > 0 && hash.search('^y([0-9]+)g([0-9]+)$') >= 0)
{
$('#recs').removeClass('closed');
$('#rec_select_year').val(hash.match('y([0-9]+)')[1]);
$('#rec_g_select').val(hash.match('g([0-9]+)')[1]);
$('html, body').animate({
scrollTop: $('#docs').offset().top + 200
}, 0);
changeDocuments();
}
else
{
changeDocuments();
}
$('.filter').change(function() {
updateDocumentList();
var years = $('#rec_select_year').val();
var groups = $('#rec_g_select').val();
hash = 'y' + years + 'g' + groups;
});
我很难从网址中删除哈希。我需要将网址更改为此http://codify.org/group/y2018g7
由于这个原因,我使用substring()方法删除了哈希,但是它影响了URL,并更改为http://codify.org/group/,基本上删除了URL的末尾../y2018g7
如何更改哈希以显示http://codify.org/group/y2018g7的URL?
答案 0 :(得分:1)
使用RegExp
替换#
中的url
,如下所示。
var url = "codify.org/group/#y2018g7";
var regx = "/#/g";
var newUrl= url.replace(eval(regx), '');
console.log(newUrl);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
注意:在上述RegExp中,g修饰符用于全局匹配(查找所有匹配项,而不是在第一个匹配项后停止)
答案 1 :(得分:0)
如果要用空字符串替换所有哈希,这将起作用。
window.location.href.split("#").join('')