Pushstate добавление нового параметра, как это предотвратить? - PullRequest
0 голосов
/ 10 февраля 2019

У меня проблема, у меня есть вкладки с pushstate:

history.pushState(null, null, '#/' + $(this).attr('href').substring(1));

И когда я хочу изменить это pushstate с помощью:

  function updateUrl() {
    history.pushState(null, null, `${location.href}/?page=` + this.page);
  }

И когда я нажимаю на кнопки нумерации страниц,Я получаю ссылку, как это: http://example.com/foo/bar/#revs/?page=1/?page=2/?page3

<button onclick="updateUrl(1)">1</button>
<button onclick="updateUrl(2)">2</button>

Но мне нужно изменить только параметр page.Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 10 февраля 2019

Использование location.href просто добавляет текущую ссылку.Создайте ссылку, используя:

location.origin + location.pathname + location.hash.split('/')[0] + '/?page=' + this.page

Подробнее о местоположении объекте.

Вы всегда можете получить доступ к location объекту в консоли браузера, чтобы понять его структуру.

...