我必须对页面刷新或重新加载进行某种操作。那是当我点击下一页或过滤或刷新网格时。我需要在此事件上显示一些确认框。
是否有任何事件可以告诉您页面正在执行文件管理?刷新还是分页?使用 javascript?
谢谢
我必须对页面刷新或重新加载进行某种操作。那是当我点击下一页或过滤或刷新网格时。我需要在此事件上显示一些确认框。
是否有任何事件可以告诉您页面正在执行文件管理?刷新还是分页?使用 javascript?
谢谢
如果是清爽的,window.onunload
就会火。
// From MDN
window.onunload = unloadPage;
function unloadPage()
{
alert("unload event detected!");
}
https://developer.mozilla.org/en/DOM/window.onunload
如果您只想要一个确认框以允许他们留下,请使用:
window.onbeforeunload = function() {
return "Are you sure you want to navigate away?";
}
您可以创建一个隐藏字段并在第一页加载时设置其值。再次加载页面时,您可以检查隐藏字段。如果它是空的,那么页面是第一次加载,否则它会被刷新。像这样的一些事情:
HTML
<body onLoad="CheckPageLoad();">
<input type="hidden" name="visit" id="visit" value="" />
</body>
JS
function CheckPageLoad() {
if (document.getElementById("visit").value == "") {
// This is a fresh page load
document.getElementById("visit").value = "1";
}
else {
// This is a page refresh
}
}
我认为有一些关于解决这个问题的澄清说明很重要。
首先,刷新/隐藏字段系统在新页面副本的开头和之后工作,而不是在离开第一个页面副本时工作。
根据我对这种方法和其他一些方法的研究,主要由于隐私标准,无法在卸载期间或更早检测到页面刷新。仅在新页面加载后及以后。
我有一个类似的问题请求,但基本上它是在页面退出时终止会话,并且在查看时发现浏览器将重新加载/刷新视为两个不同的部分:
这些也以这种顺序发生。只有自定义或非标准浏览器的行为会有所不同。
$(function () {
if (performance.navigation.type == 1) {
yourFunction();
}
});
更多关于PerformanceNavigation
返回的对象performance.navigation