【问题标题】:Rendering Formatted HTML with TinyMCE使用 TinyMCE 渲染格式化的 HTML
【发布时间】:2018-06-09 19:50:59
【问题描述】:

在 TinyMCE 中处理编码和格式化问题。

这是我的设置:

当我使用任何格式工具(粗体、斜体等)添加 HTML 标记时,所见即所得编辑器最初显示正确:

但是当我保存到我的 MongoDB 并查看帖子时,我得到:

当返回编辑帖子时,我得到:

如果我从这里再次保存,插入符号将被进一步编码:

所以我认为我有两个问题。一种是让编辑器将内容设置为源代码,以便所见即所得的编辑器重新应用格式化的样式。第二个是弄清楚为什么页面在保存到数据库后没有呈现 HTML。

有人看到任何明显的东西可以解决其中一个或两个问题吗?如果重要的话,我有一个使用 Pug 作为前端的 Node/Express 站点。

附加信息 -- MongoDB 中设置的内容:

附加信息——Chrome 开发工具中的 HTML 检查:

【问题讨论】:

  • 这与 TinyMCE 无关

标签: javascript html tinymce pug tinymce-4


【解决方案1】:

你们不会相信的。这两个问题的解决方案是单个字符更改

在插入包含要呈现的 HTML 内容的 Pug 变量时,只需将 #{yourVariable} 更改为 !{yourVariable}

【讨论】:

  • 正如 Pug 文档所说,这非常有意义,“但是 #{ 和 } 之间的代码被评估、转义,并且结果缓冲到正在渲染的模板的输出中。”所以它所做的就是转义你的 HTML。使用感叹号(而不是哈希)是告诉 Pug 获取未转义值并将其呈现给浏览器的方式。由于固有的危险,大多数框架不会默认呈现未转义的内容,因此您必须做一些事情来明确告诉它您想要未转义的内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多