Отследить перезагрузку страницы

Как можно отследить перезагрузку страницы? Просто нажатие f5 - это отловить событием keyup. А как, к примеру, если нажмут на перезагрузку страницы в браузере (кнопка около строки url)?

 window.addEventListener('feydown', function(e) {
  if (e.keyCode === 116)
    f5KeyDown = true;
 }

 window.addEventListener('beforeunload',function(e) {
    if(f5KeyDown) {
      сделать свою логику...
    }
 });

Или мб есть какой-нибудь параметр, который говорит, на какой роут происходит редирект? То есть, к примеру, если роут не меняется - значит перезагружают страницу.


Ответы (2 шт):

Автор решения: Denis640Kb

Как вариант делать запись при в сессию при перезагрузке страницы и отталкиваться уже от неё.

var Reloaded  = function(){
    Тут Ваш код по запоминанию флагов страницы и так далее.
} //страницу перезагрузили

window.onload = function() {
  var loaded = sessionStorage.getItem('loaded');
  if(loaded) {
    Reloaded();
  } else {
    sessionStorage.setItem('loaded', true);
  }
}
→ Ссылка
Автор решения: Igor Vasiliev

На сколько я понял, вы отслеживаете "состояние готовности". Это работает для меня на чистом JavaScript, в том числе на: Angular, Vue, React.

Более подробно вы можете ознакомится с этим здесь

window.onload = function() {
   if (document.readyState === "complete") {
      console.log('Страница загрузилась');
   } else {
      console.log('Загрузка...');
   }
}
→ Ссылка