Parcourir la source

fix: script rendering in message (#10807)

Co-authored-by: crazywoola <427733928@qq.com>
zxhlyh il y a 5 mois
Parent
commit
de6d3e493c
1 fichiers modifiés avec 8 ajouts et 1 suppressions
  1. 8 1
      web/app/components/base/markdown.tsx

+ 8 - 1
web/app/components/base/markdown.tsx

@@ -211,6 +211,12 @@ const AudioBlock: CodeComponent = memo(({ node }) => {
 })
 AudioBlock.displayName = 'AudioBlock'
 
+const ScriptBlock = memo(({ node }: any) => {
+  const scriptContent = node.children[0]?.value || ''
+  return `<script>${scriptContent}</script>`
+})
+ScriptBlock.displayName = 'ScriptBlock'
+
 const Paragraph = (paragraph: any) => {
   const { node }: any = paragraph
   const children_node = node.children
@@ -265,7 +271,7 @@ export function Markdown(props: { content: string; className?: string }) {
             }
           },
         ]}
-        disallowedElements={['script', 'iframe', 'head', 'html', 'meta', 'link', 'style', 'body']}
+        disallowedElements={['iframe', 'head', 'html', 'meta', 'link', 'style', 'body']}
         components={{
           code: CodeBlock,
           img: Img,
@@ -275,6 +281,7 @@ export function Markdown(props: { content: string; className?: string }) {
           p: Paragraph,
           button: MarkdownButton,
           form: MarkdownForm,
+          script: ScriptBlock,
         }}
         linkTarget='_blank'
       >