узнайте, был ли последний сайт таким же, как origin

#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 .