diff --git a/src/components/sidebar.js b/src/components/sidebar.js index 6c6c284..bde764f 100644 --- a/src/components/sidebar.js +++ b/src/components/sidebar.js @@ -303,6 +303,17 @@ export function renderSidebar(el) { _closeEngineDropdown() if (eid !== getActiveEngineId()) { engineOpt.style.opacity = '0.5' + // 立即在内容区显示加载骨架,避免切换期间空白 + const contentEl = document.getElementById('content') + if (contentEl) { + contentEl.innerHTML = `
+
+
+ ${[1,2,3].map(() => '
').join('')} +
+
+
` + } switchEngine(eid).then(() => { toast(t('engine.switchedTo', { name: getActiveEngine()?.name || eid }), 'success') renderSidebar(el) diff --git a/src/main.js b/src/main.js index 0c58857..4d363c3 100644 --- a/src/main.js +++ b/src/main.js @@ -396,6 +396,17 @@ async function boot() { const engine = getActiveEngine() if (!engine) return + // 立即显示骨架屏,避免 boot() 期间内容区空白 + if (!content.querySelector('.page')) { + content.innerHTML = `
+
+
+ ${[1,2,3].map(() => '
').join('')} +
+
+
` + } + // 引擎启动(检测安装状态 + 初始化轮询等) await engine.boot()