From f101e89767e03f3f4a50e9f4c533f667b74c1c20 Mon Sep 17 00:00:00 2001 From: augushong Date: Fri, 9 Oct 2026 13:24:34 +0000 Subject: [PATCH] =?UTF-8?q?fix(theme):=20=E5=BC=B9=E5=B1=82iframe=E6=B2=BF?= =?UTF-8?q?parent=E9=93=BE=E7=BB=A7=E6=89=BF=E7=9A=AE=E8=82=A4=E7=B1=BB?= =?UTF-8?q?=EF=BC=8C=E4=BF=AE=E5=A4=8D=E5=BC=B9=E5=B1=82=E5=86=85=E5=8D=95?= =?UTF-8?q?=E9=80=89=E5=A4=8D=E9=80=89=E5=9B=9E=E8=90=BD=E5=8E=9F=E7=94=9F?= =?UTF-8?q?=E7=BB=BF=EF=BC=88pro#7=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../static/plugs/ulthon-admin/admin-core.js | 26 ++++++++++++++++--- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/public/static/plugs/ulthon-admin/admin-core.js b/public/static/plugs/ulthon-admin/admin-core.js index ff2808b..0fc21cb 100644 --- a/public/static/plugs/ulthon-admin/admin-core.js +++ b/public/static/plugs/ulthon-admin/admin-core.js @@ -13,11 +13,29 @@ }; // body 解析完成后才执行打类:本脚本位于 head,立即执行时 $('body') 为空集合导致类未打上; - // 仅框架页(pageType=index)及其 iframe 内容页(parent.pageType=index)执行, - // 登录页等独立顶层页面不打皮肤类,维持既有视觉 + // 仅框架页(pageType=index)及其 iframe 子孙页执行:沿 parent 链向上查找 pageType=index。 + // 旧判断只看直接 parent 一层,会漏掉 layer 弹层 iframe(其 parent 是内容页窗口而非主框架), + // 导致弹层内组件回落 layui 原生绿与内容页皮肤割裂(issue #7); + // 登录页等独立顶层页面不打皮肤类,维持既有视觉;跨域 parent 读取以 try-catch 兜底 $(function () { - var in_frame = window.parent && window.parent != window; - if (window.pageType == 'index' || (in_frame && window.parent.pageType == 'index')) { + var under_index = false; + try { + var w = window; + while (w) { + if (w.pageType == 'index') { + under_index = true; + break; + } + if (w.parent && w.parent != w) { + w = w.parent; + } else { + break; + } + } + } catch (e) { + under_index = false; + } + if (under_index) { window.onInitElemStyle(); } });