Угловая платформаРасположение pushState не работает - PullRequest
0 голосов
/ 03 апреля 2019

Я хочу добавить новое состояние в историю браузера, когда платформа загружается в первый раз, поэтому, когда пользователь нажимает кнопку возврата браузера, он должен попасть на домашнюю страницу приложения.

Я пытался добавить новое состояние, используя 1. PlatformLocation pushState () 2. window.history.pushState ()

location.pushState(null, 'home', 'home');
// window.history.pushState(null, 'home', 'home');

Я даже пытался дать полный URL

location.pushState(null, 'home', 'http://localhost:4200/home');
// window.history.pushState(null, 'home', 'http://localhost:4200/home');

Это добавляет новое состояние в историю браузера, но когда я нажимаю кнопку возврата браузера, ничего не происходит, т. Е. Я все еще на той же странице, но только новое добавленное состояние удаляется из истории браузера.

1 Ответ

0 голосов
/ 05 апреля 2019

Я уже ответил на ваш другой вопрос здесь: https://stackoverflow.com/a/55511843/11289490

Когда вы вызываете history.pushState, он добавляет только одну страницу в историю с нужным вам URL, но не загружает веб-страницу и не проверяет, существует ли она.

Если вы хотите загрузить домашнюю страницу при переходе назад, вы можете сделать что-то вроде этого:

 let locat = location.href;
    if (!!window.location.pathname && window.location.pathname !== '/') {
        history.replaceState(null,null,location.origin);
        history.pushState(null, null,locat);
    }

Добавляет историю с базой URL, а затем добавляет полный URL в историю.

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