Удалить символ # из URL с помощью jQuery

0

С помощью этого jQuery я могу изменить URL-адрес моего сайта с mysite.com/#oldurl на mysite.com/newurl:

$('.trigger').click(function() {
    history.pushState('data', '', 'newurl');
});

Как я могу сделать так, чтобы # всегда был полосатым, а остальная часть URL осталась. Так mysite.com/#page2 становится mysite.com/page2, mysite.com/#page3 становится mysite.com/page3 и т.д.

Теги:

5 ответов

0
Лучший ответ
$('.trigger').click(function() {
 var final_url="";
if(your_url.indexOf('#') != -1)
{
  final_url=your_url.replace('#', '');
}

history.pushState('data', '', final_url);
});
  • 0
    В моей консоли я получаю: Uncaught ReferenceError: your_url не определен main.js: 5 (анонимная функция) main.js: 5 x.event.dispatch jquery.js: 5095 v.handle
  • 0
    your_url - это переменная, которой нужно присвоить url.did вы присваиваете your_url ссылку..проверьте .. ее не назначено !!!
3

U может использовать replace

var newurl=oldurl.replace("#","");
0

Это мое использование кода "На серьезной ноте":

$('.trigger').click(function() {

    var oldURL = window.location.hash;
//  console.log('newURL ', oldURL);

    var final_url="";
    final_url=oldURL.replace('#', '');
    history.pushState('data', '', final_url);

//  console.log('final_url', final_url);

});
0

Возможно, я неправильно понимаю вопрос. Моя мысль, когда вы говорите # - это текущий URL минус хэш.

Вы можете создать JQuery a элемент с window.location для построения текущего URL. Используйте эту переменную для анализа текущих частей URL. Также вы можете проверить, доступно ли pushState до его использования.

if(history.pushState){
    var a = $('<a>', {href: window.location})[0];
    history.pushState(null, null, a.pathname+a.hash.substr(1));
}
  • 0
    Я не хочу менять ссылку. Мне нужно изменить URL страницы, чтобы удалить # из того, что есть. Итак, mysite.com/#page2 будет изменен на mysite.com/page2
  • 0
    @jdln обновлен для использования a.hash минус #
0

Пытаться:

newurl = oldurl.replace(/#/g,"/");

Ещё вопросы

Сообщество Overcoder
Наверх
Меню