// 在页面加载前预渲染导航栏,减少闪烁和延迟 (function () { // 获取当前页面相对于根目录的路径级别 function getPathLevel() { // 获取当前页面的路径 const path = window.location.pathname; // 如果路径中包含 "/pages/",则返回 "../" if (path.includes("/pages/")) { return "../"; } return ""; } // 获取当前页面的文件名 function getCurrentPage() { return window.location.pathname.split("/").pop(); } // 动态添加CSS文件 function addCssFile(path) { const link = document.createElement('link'); link.rel = 'stylesheet'; link.href = path; document.head.appendChild(link); } // 生成导航栏HTML function generateHeaderHTML() { const pathLevel = getPathLevel(); const currentPage = getCurrentPage(); // 设置活动导航项 let monitorActive = currentPage.includes("monitor") ? "active" : ""; let orderActive = currentPage.includes("order") ? "active" : ""; let alarmActive = currentPage.includes("alarm") ? "active" : ""; let mapActive = currentPage.includes("map") ? "active" : ""; let vehicleActive = currentPage.includes("vehicle") ? "active" : ""; let configActive = currentPage.includes("config") ? "active" : ""; let userActive = currentPage.includes("user") ? "active" : ""; // 修复链接路径 let monitorLink = pathLevel === "../" ? "monitor.html" : "pages/monitor.html"; let orderLink = pathLevel === "../" ? "order.html" : "pages/order.html"; let alarmLink = pathLevel === "../" ? "alarm.html" : "pages/alarm.html"; let mapLink = pathLevel === "../" ? "map.html" : "pages/map.html"; let vehicleLink = pathLevel === "../" ? "vehicle.html" : "pages/vehicle.html"; let configLink = pathLevel === "../" ? "config.html" : "pages/config.html"; let userLink = pathLevel === "../" ? "user.html" : "pages/user.html"; let dashboardLink = pathLevel === "../" ? "dashboard.html" : "pages/dashboard.html"; let indexLink = pathLevel === "../" ? "../index.html" : "index.html"; // 用户头像路径 let userImgPath = `${pathLevel}assets/img/user.png`; // 生成HTML return ` `; } // 立即将导航栏HTML写入页面 document.addEventListener("DOMContentLoaded", function () { // 获取当前路径级别 const pathLevel = getPathLevel(); // 动态添加移动端菜单样式 // addCssFile(`${pathLevel}assets/css/tcs-mobile-menu.css`); // 获取导航栏容器 const headerContainer = document.getElementById("tcs-header-container"); if (headerContainer) { // 插入导航栏HTML headerContainer.innerHTML = generateHeaderHTML(); // 更新主题文字 const savedTheme = localStorage.getItem("theme"); if (savedTheme && savedTheme === "dark") { const themeText = document.getElementById("theme-text"); if (themeText) { themeText.textContent = "浅色主题"; } // 同时更新移动端的主题文字 const themeTextMobile = document.getElementById("theme-text-mobile"); if (themeTextMobile) { themeTextMobile.textContent = "浅色主题"; } } } }); })();