]>
acesimba.cloud Git - StationBuilder.git/commit
fix(vue): 配置站点纯白页根因 - 模板表达式中的 window 被解析为组件作用域
根因: 用户拖动过 AI 浮动按钮, fabPos 存入 localStorage; 该值存在时 Home.vue 模板 :style 中的
window.innerHeight 被 Vue 编译器当作组件属性 _ctx.window (undefined) 解析, 读取 .innerHeight
抛 TypeError, 整棵 Home 渲染树崩溃 -> 纯白页。React 版 JSX 不做此转换故无此问题。
修复:
- Home.vue 新增 setup 绑定 const win = window, 模板该用 win.innerHeight (替代 window.innerHeight)
- 同步修正另外两处模板内联处理器中的 window.confirm / window.history.replaceState
(Home.vue:546 删除领域点击, Home.vue:597 站点切换) 同样规避 _ctx.window 解析
- main.js 新增屏幕可见的错误浮层(window.onerror/unhandledrejection/Vue errorHandler),
便于后续此类运行时错误直接显示到页面
脚本内(window.open/history.replaceState/document.* 等)的 window 仍是真实全局, 无需改动。