Не добавлять URL в историю браузера - PullRequest
1 голос
/ 14 июня 2019

Я читаю информацию об истории браузера и понимаю, что у меня нет доступа к массиву объектов истории, и тем более я не могу их удалить. Однако моя задача состоит в том, чтобы исключить добавление параметризованных URL-адресов в историю. У меня есть вкладки в моем проекте, их URL:

/profile,
/profile?menu=1
/profile?menu=2

Я использую фреймворк nextjs в своем проекте. Его навигационный код:

public handleOnClickItem(key: string) {
    const id = '1';
    const href = `/profile?id=${id}&menu=${key}`;
    Router.push(href, href, { shallow: true });
    // tabs are navigated
    Router.onBeforeHistoryChange = (url) => {
        console.log('App is changing to before history change: ', url);
    };
}

Могу ли я не добавить этот URL в историю? Я получаю это в console.log. И как я понял из описания метода, этот URL еще не должен войти в историю. Есть идеи? Спасибо!

1 Ответ

0 голосов
/ 14 июня 2019

Загружайте свое содержимое через AJAX, как только вы окажетесь на сайте, и не сохраняйте обновленные URL.

Недостатком является то, что ваш пользователь не сможет добавить в закладки определенную страницу (без постоянных ссылок). В истории будет отображаться только базовый URL без параметров.

Здесь был похожий пост на SO

Проверьте это здесь

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...