В Javascript, как мне "очистить" назад (история -1)?
Когда пользователь загружает страницу, я сразу же перенаправляю окно в другое место.
Проблема в том, что когда пользователь нажимает на нее, она вернется к странице, которая перенаправляет.
Можно ли "отменить" историю предыдущей страницы? Итак, когда пользователь щелкает назад, вместо этого он возвращает две страницы?
Ответы
Ответ 1
Вместо того, чтобы использовать window.location = url;
для перенаправления,
попробовать:
window.location.replace(url);
после использования replace() текущая страница не будет сохранена в сеансе история, то есть пользователь не сможет использовать кнопку "Назад", чтобы перейдите к нему.
Ответ 2
Вы можете использовать location.replace
, чтобы заменить текущую запись местоположения (страницу перенаправления) на новую (цель). Это требует, чтобы вы выполняли перенаправление через JavaScript, а не с метатегами или 302. Например:
// In the redirecting page
location.replace("path/to/target/page");
Живой пример | Источник примера в реальном времени
Ответ 3
Для тех, кто подходит к этой странице и ищет способ AngularJS для этого (а не javascript), используйте метод replace() службы определения местоположения $):
Используйте $location.url('/newpath');
или $location.path('/newpath');
, как обычно, для перенаправления в angular. А затем просто добавьте $location.replace();
сразу после него. Или вы можете связать команды следующим образом:
$location.url('/newpath').replace();