From 60db2c40d8d34178912fa268a7392e94f4ee89fc Mon Sep 17 00:00:00 2001 From: qing <1776177662@qq.com> Date: Wed, 5 Aug 2026 10:15:21 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=B9=E6=95=88=E4=BF=9D=E6=8C=81=E5=85=A8?= =?UTF-8?q?=E5=B1=8F=E8=A7=86=E8=A7=89=EF=BC=8C=E4=BD=86=20iframe=20?= =?UTF-8?q?=E5=85=83=E7=B4=A0=E6=8C=82=E8=BD=BD=E5=88=B0=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E5=AE=B9=E5=99=A8=E5=86=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- static/public/js/dnfs.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/static/public/js/dnfs.js b/static/public/js/dnfs.js index 7afb134..e7d41ab 100644 --- a/static/public/js/dnfs.js +++ b/static/public/js/dnfs.js @@ -496,7 +496,8 @@ function renderSpLink(container, sp, appendNote) { * 采用 iframe 沙箱而非注入父页面全局作用域,原因: * - 特效脚本运行在独立 iframe 内,无法访问父页面 DOM/JS,任何报错、死循环、变量覆盖 * 都不会污染父页面,从而保证"运行特效后卡片点击/节点导航依然正常"; - * - iframe 挂载在节点容器内部且 pointer-events:none,不拦截父页面点击,视觉特效局限在卡片内展示; + * - iframe 元素挂载在节点容器内部(DOM 归属该节点),但 keep 全屏 fixed 定位,视觉特效悬浮覆盖整个页面; + * pointer-events:none 不拦截父页面点击,不影响卡片点击/节点导航; * - 不使用 new Function/eval(CSP 未开 unsafe-eval),srcdoc 内联脚本由 CSP 'unsafe-inline' 放行。 * 仅管理员可发布(后端强制)。 */ /* 无特效模式:true 为关闭自动执行(用户面板开关控制,localStorage 持久化) */ @@ -532,18 +533,18 @@ function renderSpJs(container, sp, appendNote) { }); /* 启动特效:创建隔离 iframe 沙箱,完整前端代码(含