Различают обновление страницы и нормальную загрузку страницы от навигации - PullRequest
0 голосов
/ 18 мая 2018

В ASP.NET MVC C # я использовал Context.Request.Headers["Referer"], чтобы получить информацию о реферере, с какой страницы он перемещается.Но когда я обновляю страницу, она все еще показывает старый URL реферера.

Можно ли как-то дифференцировать обновление страницы и загрузку страницы с помощью навигации?

JS:

$(document).ready(function () {
            debugger;
            var referrer = '@Context.Request.Headers["Referer"]';
}

1 Ответ

0 голосов
/ 18 мая 2018

Вы можете использовать window.onbeforeload для установки значения cookie / sessionStorage, событие запускается до обновления страницы или загрузки новой страницы.

// Vanilla JavaScript
window.addEventListener('onbeforeload', function() {
  // your code to set value here
});

// jQuery
$(window).on('beforeunload', function() {
  // your code to set value here
});

Послестраница загружена ( window.onload ), вы можете проверить значение.Если это соответствует, вы знаете, страница обновлена.Вы также должны удалить его на этом этапе.

// Vanilla JavaScript
window.onload = function() {
  // your code to check value here
  // remember to delete the value too
});

// jQuery
$(window).on('load', function() {
  // your code to check value here
  // remember to delete the value too
});

Событие load возникает в конце процесса загрузки документа - все объекты в документе находятся в DOM на этом этапе.Если вы хотите выполнить проверку как можно скорее, вы можете использовать IIFE:

(function refreshCheck() {
  // your check here
  // remember to delete the value too
})();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...