From 9cc29f5dfb7b6167620628702720c2e6d1e1ceb1 Mon Sep 17 00:00:00 2001 From: uncle6me-web Date: Sat, 4 Jul 2026 17:51:25 +0800 Subject: [PATCH] =?UTF-8?q?docs(wiki):=20Mira=20Console=20=E5=AE=8C?= =?UTF-8?q?=E6=95=B4=E7=89=88=E6=94=B6=E5=B0=BE=E2=80=94=E2=80=94mistakes?= =?UTF-8?q?=20#24=20=E4=B8=89=E5=B1=A4=E8=B7=B3=E8=84=AB=E9=A9=97=E8=AD=89?= =?UTF-8?q?=E6=B3=95+DELETE=20=E5=81=87=E7=B6=A0=E7=BC=BA=E5=8F=A3?= =?UTF-8?q?=E3=80=81status=20=E6=9B=B4=E6=96=B0=20(Arcrun#3=20console=20?= =?UTF-8?q?=E7=B3=BB)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- system-dev/wiki/mistakes.md | 20 ++++++++++++++++++++ system-dev/wiki/status.md | 9 ++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/system-dev/wiki/mistakes.md b/system-dev/wiki/mistakes.md index 56fe217..6d82fc9 100644 --- a/system-dev/wiki/mistakes.md +++ b/system-dev/wiki/mistakes.md @@ -512,6 +512,26 @@ array-of-tables(`[[x]]`)不用 inline array。改 toml 後用 `wrangler --dr --- +## 24. Worker 內嵌單檔 HTML 的三層跳脫=隱形破版源;驗證要「求值後」做(2026-07-04,Mira Console 完整版) + +**情境**:console 頁是 TS template literal 包整份 HTML+inline JS。字面上要穿三層: +TS template(`\\d` 才輸出 `\d`、內層禁裸 backtick/`${`)→ inline JS(regex、字串拼接)→ HTML。 +肉眼/tsc 都看不出內層 JS 是否被跳脫層弄壞——tsc 只驗 TS 合法,內嵌 JS 語法錯了照樣綠。 + +**防呆法(本次固化的驗證鏈,比 tsc 多三步)**: +1. 用 node `new Function` 把 template literal **求值成真 HTML**(模擬 worker 輸出); +2. 抽出 `