【发布时间】:2019-01-17 01:46:18
【问题描述】:
我在我的节点应用程序上使用 tinyMCE 作为文本编辑器。使用 RESTful 路由,我创建了一个典型的创建路由,允许我创建博客文章 (see here)。我使用 express/mongoose/mongodb 作为后端。使用 ejs,博客文章的显示路由正在呈现 html通过tinyMCE输入,例如标题和段落标签。但是,我的问题是通过tinyMCE添加时,链接和图像似乎没有显示在前端。经检查,图像的src和链接的href都是尽管在 tinyMCE 中添加,但未存储在数据库中。
MongoDB entry with no src or href
这里是创建路由的相关代码
<div class="form-group">
<!-- use TINYMCE for textarea -->
<label for="blogContent">Blog Content</label>
<textarea class="form-control" name="blog[body]" id="editor" cols="30" rows="10" type="hidden"></textarea>
</div>
<input class="btn btn-primary mb-3" type="submit">
</form>
</div>
</div>
<script>
tinymce.init({
selector: 'textarea',
height: 500,
menubar: false,
plugins: [
'advlist autolink lists link image charmap print preview anchor textcolor',
'searchreplace visualblocks code fullscreen',
'insertdatetime media table contextmenu paste code help wordcount'
],
toolbar: 'insert | undo redo | styleselect | bold italic backcolor | alignleft aligncenter alignright | bullist numlist outdent indent | image link | removeformat | help',
});
</script>
【问题讨论】:
-
您无法提供任何 less 信息...发生这种情况的原因有很多,我们甚至无法开始尝试帮助您。添加更多信息。您只是粘贴“google.com”还是粘贴完整的 a 标签(google)?您如何提交 tinyMCE 的内容?后端如何写入数据库? textarea 中的其余文本是否被保存?你如何显示数据?尤其令人困惑的是,你说它没有保存,而是链接出现在前端...
-
好的,我更新了更多信息
-
如果去掉tinymce,直接在textarea中输入html,能用吗?我想知道a)支持的东西是否正在执行此操作或b)也许您正在使用有缺陷的tinymce版本......它是最新的吗?查看文档,我没有看到任何关于当前版本的剥离/保留属性的具体内容,只是标签
-
是的,如果我删除 tinyMCE,textarea 就可以正常工作。我已经阅读了文档,但不确定我是否遗漏了一些关键组件。另外我使用的是 tinyMCE 提供的脚本,所以我假设是最新版本。
-
似乎您应该在他们的论坛或问题跟踪器上进行查询...我在默认值中没有看到任何内容。 Maaaaybe 尝试将 extended_valid_elements 设置为 a(href) 但这意味着 valid_elements 在某处被覆盖。此外,其中一个插件可能正在做某事,但乍一看我什么都没有弹出
标签: javascript node.js mongodb tinymce ejs