我必须在页面刷新或重新加载时进行某种操作。那是我点击下一页或过滤或刷新网格时。我需要在此活动上显示一些确认框。
是否有任何事件可以告诉你页面正在做文件管理器?刷新或分页?使用javascript?
由于
答案 0 :(得分:19)
如果它正在刷新,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?";
}
答案 1 :(得分:3)
您可以创建隐藏字段并在第一页加载时设置其值。再次加载页面时,您可以检查隐藏字段。如果它是空的,那么页面第一次被加载,否则它被刷新。有点像这样:
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
}
}
答案 2 :(得分:1)
有一些关于摔跤的澄清说明,我觉得这很重要。
首先,刷新/隐藏字段系统在新页面复制的开头和之后工作,而不是在离开第一页复制时。
根据我对此方法和其他一些方法的研究,主要由于隐私标准,在卸载期间或之前检测页面刷新是没有办法的。只有在加载新页面之后才能使用。
我有一个类似的问题请求,但基本上它是在页面退出时终止会话,并在查看时,发现浏览器将重新加载/刷新视为两个不同的部分:
这些也是按照这个顺序发生的。只有自定义或非标准浏览器才会表现不同。
答案 3 :(得分:1)
$(function () {
if (performance.navigation.type == 1) {
yourFunction();
}
});
有关performance.navigation
PerformanceNavigation
对象的详情