whois
This commit is contained in:
@@ -125,10 +125,15 @@ function setupWebSocketListeners() {
|
||||
}
|
||||
}
|
||||
|
||||
// 加载服务器状态数据
|
||||
// 加载服务器状态数据 - 添加页面可见性检查
|
||||
async function loadServerStatusData() {
|
||||
// 页面不可见时跳过加载,节省资源
|
||||
if (document.hidden) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
// 使用现有的API获取系统状态
|
||||
// 使用现有的 API 获取系统状态
|
||||
const api = window.api || {};
|
||||
const getStatusFn = api.getStatus || function() { return Promise.resolve({}); };
|
||||
const statusData = await getStatusFn();
|
||||
@@ -284,10 +289,33 @@ function formatNumber(num) {
|
||||
return fullNumStr;
|
||||
}
|
||||
|
||||
// 在DOM加载完成后初始化
|
||||
// 页面可见性变化处理
|
||||
function handleServerStatusVisibilityChange() {
|
||||
if (document.hidden) {
|
||||
// 页面隐藏时停止定时器
|
||||
if (serverStatusUpdateTimer) {
|
||||
clearInterval(serverStatusUpdateTimer);
|
||||
serverStatusUpdateTimer = null;
|
||||
console.log('服务器状态组件:页面隐藏,已停止定时器');
|
||||
}
|
||||
} else {
|
||||
// 页面重新可见时恢复定时器
|
||||
if (!serverStatusUpdateTimer) {
|
||||
serverStatusUpdateTimer = setInterval(loadServerStatusData, 5000);
|
||||
console.log('服务器状态组件:页面可见,已恢复定时器');
|
||||
// 立即更新一次
|
||||
loadServerStatusData();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 在 DOM 加载完成后初始化
|
||||
window.addEventListener('DOMContentLoaded', function() {
|
||||
// 延迟初始化,确保页面完全加载
|
||||
setTimeout(initServerStatusWidget, 500);
|
||||
|
||||
// 添加页面可见性监听
|
||||
document.addEventListener('visibilitychange', handleServerStatusVisibilityChange);
|
||||
});
|
||||
|
||||
// 在页面卸载时清理资源
|
||||
|
||||
Reference in New Issue
Block a user