[英]How to check page is reloading or refreshing using jquery or 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();
}
});
有關performance.navigation
返回的PerformanceNavigation
對象的更多信息
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.