#javascript #browser-history
#javascript #история браузера
Вопрос:
Я использую пользовательскую обработку истории в своем приложении onepage (with history.pushState
). Когда пользователь нажимает встроенную кнопку возврата браузера, сайт не перезагружается (таким образом, не отображается правильный контент). Я исправил это, прослушав window.onpopstate
событие, в котором Id просто перезапускал сценарий инициализации.
Однако это приводит к тому, что пользователь застревает на моей странице, поскольку, когда он пытается вернуться назад, я просто перезагружаю страницу, не обращая внимания на то, находится ли страница, на которую он хочет перейти, в том же источнике, что и моя, или нет. Я бы хотел примерно так:
window.onpopstate = () => {
if (/*Site is same origin*/) load();
else {
//do Nothing
}
};
Как бы я к этому отнесся?
Комментарии:
1. посмотрите на реферер из запроса
Ответ №1:
Вы можете подойти к этому с помощью document.referrer
, сопоставить его со своим доменом, а затем предпринять соответствующие действия. Подробнее об этом в MDN .