0

我知道的选项是,

  1. getContents从提供 JSON 结构的 api获取 quilljs 的内容。我可以将其发布到服务器并将其存储在服务器中。

  2. 获取div传递给 Quill 编辑器的 innerHTML 并存储它。

方法一:

在将其显示回来时,我需要将水牛模板中的内容写入变量中,例如

<script> var contentJSON = "<%= content %>"</script>

然后一旦页面加载,我需要设置内容,如quillInstance.setContents(contentJSON)

方法二:

如果请求被破坏,那么 html 可能包含未转义的脚本。所以如果我这样尝试

c.Set("getContent", func(content string) template.HTML {
    return template.HTML(html.EscapeString(content))
})

这会转义所有 html 实体。所以所有的 div,quill js 引入的样式也随之消失了。所以整个内容看起来就像一个普通的字符串。

存储内容的正确方法是什么?我正在寻找一种在服务器中呈现它的方法。

4

1 回答 1

0

最后,我以以下内容结束,

Helpers: render.Helpers{
            "quil_for": func(content string) template.HTML {
                content = strings.ReplaceAll(content, "<script>", "&lt;script&gt;")
                content = strings.ReplaceAll(content, "<a>", "&lt;a&gt;")
                content = strings.ReplaceAll(content, "</a>", "&lt;/a&gt;")
                content = strings.ReplaceAll(content, "</script>", "&lt;/script&gt;")
                return template.HTML(content)
            },
        },

而不是这个

c.Set("getContent", func(content string) template.HTML {
    return template.HTML(html.EscapeString(content))
})

这只会转义脚本和锚标记以及 html 的 res。

于 2019-07-26T05:43:12.250 回答