区分页面刷新和正常页面加载导航

时间:2018-05-18 09:10:24

标签: javascript jquery asp.net-mvc

在ASP.NET MVC C#中,我使用Context.Request.Headers["Referer"]来获取引导来自哪个页面的引用者信息。但是当我刷新页面时,它仍会显示旧的引荐来源网址。

有什么方法可以通过导航区分页面刷新和页面加载?

JS:

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

1 个答案:

答案 0 :(得分:0)

您可以使用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
})();