text: Q:
  
  Как убрать # (хэш/решетку) в URL при прокрутке к якорю
  
  Добрый вечер. Такой вопрос, как убрать # (хэш/решетку) в URL при прокрутке к якорю по данному примеру:
  $(document).ready(function () {
  
      $(document).on("scroll", onScroll);
  
      $("a[href^=#]").click(function(e){
          e.preventDefault();
  
          $(document).off("scroll");
          $(menu_selector + " a.active").removeClass("active");
          $(this).addClass("active");
          var hash = $(this).attr("href");
          var target = $(hash);
  
          $("html, body").animate({
              scrollTop: target.offset().top
          }, 900, function(){
              window.location.hash = hash;
              $(document).on("scroll", onScroll);
          });
  
      });
  
  });
  
  A:
  
  Я хочу присоединиться к комментаторам и поддержать мнение, что не нужно убирать "якорь". Он позволяет получить ссылку на конкретный участок страницы и совершенно не выглядит как "прошлый век", что за странные предрассудки.
  К тому же, странно и нелогично использовать технологию (прямо по назначению) и избавляться от половины ее "назначения". Почему бы просто не прокрутить страницу с помощью javascript при клике на элемент? И никакого хеша не будет. 
  Так или иначе, вопрос требует ответа. Это ваше дело как использовать доступные инструменты. 
  Убрать якорь без перезагрузки страницы можно, насколько я знаю, только с помощью History API, к примеру, таким кодом: 
  if(window.history && history.pushState)
      history.pushState({foo: 'bar'}, 'Title', location.href.replace(location.hash,''));
  
  Проверка необходима, так как старые браузеры не поддерживают этот функционал. Хотя, к счастью, на данный момент абсолютное большинство пользователей пользуются совместимыми браузерами.
  
  