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. 抽出 `