commit 20260703
This commit is contained in:
@@ -6,6 +6,12 @@
|
||||
var NAV_URL = "/components/nav.html";
|
||||
var FOOTER_URL = "/components/footer.html";
|
||||
var FOOT_CSS_ID = "aifo-foot-styles";
|
||||
var NAV_CSS_ID = "aifo-nav-styles";
|
||||
var NAV_CSS_URL = "/assets/css/nav.css";
|
||||
var AIFO_BTN_CSS_ID = "aifo-btn-styles";
|
||||
var AIFO_BTN_CSS_URL = "/assets/css/aifo-btn.css";
|
||||
var ICONFONT_CSS_ID = "aifo-iconfont-styles";
|
||||
var ICONFONT_CSS_URL = "/assets/vendor/icon/iconfont.css";
|
||||
var FLAG_ICONS_CSS_ID = "aifo-flag-icons-styles";
|
||||
var FLAG_ICONS_CSS_URL = "/assets/flagicon/css/flag-icons.min.css";
|
||||
var FOOT_JS_URL = "/js/footer.js";
|
||||
@@ -114,6 +120,30 @@
|
||||
document.head.appendChild(link);
|
||||
}
|
||||
|
||||
function ensureNavStyles() {
|
||||
if (!document.getElementById(ICONFONT_CSS_ID)) {
|
||||
var iconLink = document.createElement("link");
|
||||
iconLink.id = ICONFONT_CSS_ID;
|
||||
iconLink.rel = "stylesheet";
|
||||
iconLink.href = ICONFONT_CSS_URL;
|
||||
document.head.appendChild(iconLink);
|
||||
}
|
||||
if (!document.getElementById(NAV_CSS_ID)) {
|
||||
var navLink = document.createElement("link");
|
||||
navLink.id = NAV_CSS_ID;
|
||||
navLink.rel = "stylesheet";
|
||||
navLink.href = NAV_CSS_URL;
|
||||
document.head.appendChild(navLink);
|
||||
}
|
||||
if (!document.getElementById(AIFO_BTN_CSS_ID)) {
|
||||
var btnLink = document.createElement("link");
|
||||
btnLink.id = AIFO_BTN_CSS_ID;
|
||||
btnLink.rel = "stylesheet";
|
||||
btnLink.href = AIFO_BTN_CSS_URL;
|
||||
document.head.appendChild(btnLink);
|
||||
}
|
||||
}
|
||||
|
||||
function loadFooterScript(callback) {
|
||||
if (footJsLoaded) {
|
||||
callback();
|
||||
@@ -139,6 +169,25 @@
|
||||
document.body.appendChild(script);
|
||||
}
|
||||
|
||||
var navIconsJsLoading = false;
|
||||
var navIconsJsLoaded = false;
|
||||
|
||||
function loadNavIconsScript() {
|
||||
if (navIconsJsLoaded || navIconsJsLoading) return;
|
||||
navIconsJsLoading = true;
|
||||
var script = document.createElement("script");
|
||||
script.src = "/js/nav-icons.js";
|
||||
script.onload = function () {
|
||||
navIconsJsLoaded = true;
|
||||
navIconsJsLoading = false;
|
||||
};
|
||||
script.onerror = function () {
|
||||
navIconsJsLoading = false;
|
||||
console.error("[layout.js] Failed to load /js/nav-icons.js");
|
||||
};
|
||||
document.body.appendChild(script);
|
||||
}
|
||||
|
||||
function initFooterModule(root) {
|
||||
ensureFooterStyles();
|
||||
updateCopyrightYear(root);
|
||||
@@ -165,9 +214,11 @@
|
||||
var navHtml = parts[0];
|
||||
var footerHtml = parts[1];
|
||||
if (navHtml) {
|
||||
ensureNavStyles();
|
||||
ensureFlagIconsStyles();
|
||||
var navRoot = injectHtml("nav-container", navHtml);
|
||||
if (navRoot) highlightActiveNav(navRoot);
|
||||
loadNavIconsScript();
|
||||
}
|
||||
if (footerHtml) {
|
||||
var footerRoot = injectHtml("footer-container", footerHtml);
|
||||
|
||||
Reference in New Issue
Block a user