#8365·monkeytype

错误: HTML 实体替换缺少分号(&lt/&gt) — 切片实体在输入字词覆盖中呈现为垃圾文本

作者: priyanshu1976创建于 2026年8月26日更新于 2026年8月26日

您在打开一个问题前是否清除了缓存 ?

  • 我清理了我的缓存

  • 这个问题存在吗?

  • [x]我已经搜索了现有的公开和关闭的问题

登入时是否出现这个问题?

问题是否发生在登出时?

QQ 登入时, 问题是否以隐形模式发生 ?

### ### ### ### ### ### ### ### ### ### ### ?

发布细节

当前的行为

两个斑点用 HTML 实体取代 QQ / QQ , 但省去后缀分号, 生成与 `. slice ()' 发生严重相互作用的非标准引用 :

//前端/src/ts/测试/结果-字-高亮.ts:314-319 Wordel.innerHTML = 用户输入链 .取代(/\t/g," ") 替换 (/ </g, “ <”) // 无分号 替换 (/ >/g, “ >” ) // 无分号 .slice(0), "El.childElementCount " 二字;

//前端/src/ts/test/test-ui.ts:1405-1409 —同型.


因为切片发生 * 在* 替换后, 结束于 QQ 的输入会被切换为中实体( 如 QQl") , 然后将它变成文字垃圾文本而不是 QQ 。 当相邻的实体类文本存在于打入的字符串中时,遗留式的分号式实体也奇怪的是双解码.

• 预期行为

在切开前替换为适当的实体(或在切开后逃脱):


替换(/ </g,“ <”)
替换 (/ >/g, “ & gt; ”)

理想的情况是,两个呼叫站点将共用一个逃生助手(例如,从utils/misc.ts:137-145'重新使用Misc.escapeHTML',这已经正确逃脱了)。

  1. 键入含有QQ的单词,使输入长度超过单词长度,从而.slice ()'在所附实体内切入(例如abc<'与xyz'字相接)。
  2. 观察输入上方所显示的原始 " Q " 碎片,而不是 " Q " 字符。

环境

  • 任何一个
  • 浏览器:任何
  • 通过 " Master " @ 91bd24bb8的来源审查发现

内容来源: monkeytypegame/monkeytype