【发布时间】:2018-06-08 23:33:02
【问题描述】:
我解释一下我的场景,用户通过持久化在数据库中的所见即所得编辑器输入内容,在应用程序的另一个地方这个内容和另一个是通过 ajax 请求获得的,这里我使用模板文字来构建一个 html最终使用目标 DOM 元素中的innerHTML 将数据插入到视图中的结构。
我要求通过所见即所得编辑器添加的内容显示为html,带有lodash函数_.unescape ()我得到了html特殊字符的免费内容,但这不是显示为html而是显示为html字符串
我分享一下实现的大致思路:
模板文字
`...
<div>${getHTML(dataset.message)}</div>
...`
Javascript
function getHTML(message) {
const html = _.unescape(message).replace('\\', '');
const parser = new DOMParser();
const dom = parser.parseFromString(html, 'text/html')
return dom;
}
输出
[object HTMLDocument]
如果不是dom 变量,而是在我得到的视图中返回html 变量,例如<p>some content <strong>goes here</strong></ p>,我需要将此内容显示为常规视图html
关于将内容显示为 html 的任何想法?
谢谢
【问题讨论】:
标签: javascript html