chatGPTBox icon indicating copy to clipboard operation
chatGPTBox copied to clipboard

输出部分 HTML <input /> 渲染成输入框

Open iFwu opened this issue 2 years ago • 7 comments

问题描述 输出内容时似乎没有对包含HTML标签的内容进行转义,导致可能出现一些未预期行为。

如何复现 翻译一段包含裸HTML代码的文字片段(不在代码块或代码格式标记中)。

期望行为 将HTML的内容进行转义,防止意外产生元素、防止可能的XSS风险(不过因为是用户主动发起的,被攻击的风险不大)

截图说明 image

iFwu avatar Jun 07 '23 08:06 iFwu

通常期望的行为是要求AI将代码回答包裹在代码块中, 因为有时候一些格式化输出会用到html代码

josStorer avatar Jun 07 '23 08:06 josStorer

通常期望的行为是要求AI将代码回答包裹在代码块中, 因为有时候一些格式化输出会用到html代码

翻译应该尽量避免改变原始格式吧。可以把HTML内容复制为Markdown,避免网页获取选择文字时丢失格式的问题,不过这是另一个功能了。

iFwu avatar Jun 07 '23 08:06 iFwu

是,其实这个问题就是框选没有获取到markdown格式,只获取到了纯文本的问题

josStorer avatar Jun 07 '23 08:06 josStorer

是,其实这个问题就是框选没有获取到markdown格式,只获取到了纯文本的问题

看了一下,是react-markdown的remarkjs/remark-gfm插件会把input渲染出来

iFwu avatar Jun 09 '23 11:06 iFwu

是的,原本设想的就是不被代码块包裹的html代码会被渲染出来,当时没有考虑到会出现翻译<input>这样的情况

josStorer avatar Jun 09 '23 11:06 josStorer

if we send an iframe tag it renders in chatgptbox chat page

thepro-3418 avatar Jun 26 '23 08:06 thepro-3418

fixed in v2.4.9

josStorer avatar Jan 26 '24 07:01 josStorer