【问题标题】:Marked does not sanitize readme file in VueJS componentMarked 不会清理 VueJS 组件中的自述文件
【发布时间】:2021-04-22 06:27:14
【问题描述】:

谁能告诉我为什么 compiledMarkdown 函数的响应没有被清理,并且 md 文件中的所有内容都没有样式?

<template>
  <div style="padding:35px;">
    <div v-html="compiledMarkdown"></div>
  </div>
</template>

<script>
import marked from 'marked';

export default {
  components: {},
  data () {
    return {}
  },
  methods: {
    compiledMarkdown: function () {
      return marked(this.content, { sanitize: true });
    }
  },
  props: {
      content: {
          type: String
      }
  }
}
</script>

【问题讨论】:

  • 请添加父组件的代码,以及你得到的结果,以便社区帮助你。
  • 根据library documentationsanitize 选项已弃用。
  • @guyaloni 还有其他选择吗?你能举个例子吗?
  • 我认为您在文档中有足够的信息来检查这一点。

标签: javascript typescript vue.js


【解决方案1】:

marked componentdocumentation说的很清楚:

“清理”选项:
警告:此功能已弃用,不应使用,因为它不能被认为是安全的。 而是在输出 HTML 上使用清理库,例如 DOMPurify(推荐)、sanitize-htmlinsane

这可能就是您的文本没有被净化的原因。

【讨论】:

    猜你喜欢
    • 2021-02-07
    • 1970-01-01
    • 1970-01-01
    • 2017-01-23
    • 1970-01-01
    • 2010-10-13
    • 2013-12-09
    • 2016-04-18
    • 1970-01-01
    相关资源
    最近更新 更多