feat: 設備即時概況頁面加入 visibility 自動刷新
- 切回頁面時立即刷新資料(visibilitychange 事件) - Tab 隱藏時跳過自動刷新,節省資源 - 加入 console.log 追蹤刷新觸發時機 與 WIP Overview 頁面行為一致。 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1619,17 +1619,46 @@
|
||||
}
|
||||
}
|
||||
|
||||
// ============================================================
|
||||
// Auto-refresh
|
||||
// ============================================================
|
||||
const REFRESH_INTERVAL = 5 * 60 * 1000; // 5 minutes
|
||||
let refreshTimer = null;
|
||||
|
||||
function startAutoRefresh() {
|
||||
if (refreshTimer) {
|
||||
clearInterval(refreshTimer);
|
||||
}
|
||||
console.log('[Resource Status] Auto-refresh started, interval:', REFRESH_INTERVAL / 1000, 'seconds');
|
||||
refreshTimer = setInterval(() => {
|
||||
if (!document.hidden) {
|
||||
console.log('[Resource Status] Auto-refresh triggered at', new Date().toLocaleTimeString());
|
||||
checkCacheStatus();
|
||||
loadData();
|
||||
} else {
|
||||
console.log('[Resource Status] Auto-refresh skipped (tab hidden)');
|
||||
}
|
||||
}, REFRESH_INTERVAL);
|
||||
}
|
||||
|
||||
// Handle page visibility - refresh when tab becomes visible
|
||||
document.addEventListener('visibilitychange', () => {
|
||||
if (!document.hidden) {
|
||||
console.log('[Resource Status] Tab became visible, refreshing...');
|
||||
checkCacheStatus();
|
||||
loadData();
|
||||
startAutoRefresh();
|
||||
}
|
||||
});
|
||||
|
||||
// Initialize
|
||||
document.addEventListener('DOMContentLoaded', async () => {
|
||||
await loadOptions();
|
||||
await checkCacheStatus();
|
||||
await loadData();
|
||||
|
||||
// Auto-refresh every 5 minutes
|
||||
setInterval(() => {
|
||||
checkCacheStatus();
|
||||
loadData();
|
||||
}, 5 * 60 * 1000);
|
||||
// Start auto-refresh
|
||||
startAutoRefresh();
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
Reference in New Issue
Block a user