1
zjsxwc 2020-04-27 10:06:05 +08:00 via Android
参考各种 cms 的实现呗,比如 Drupal 是通过模板引擎占位与各种插件配合
|
2
islxyqwe 2020-04-27 10:19:03 +08:00
通用点就 markdown
|
3
iConnect 2020-04-27 10:22:17 +08:00 via Android
参考语雀的实现方式呗,基本上该有的功能都实现啦
|
4
Leon6868 2020-04-27 10:34:46 +08:00
什么是可视化编辑?可以详细讲一下吗
如果是编辑并预览 html,可以直接在前端构建 html 并用 window.open()直接传入 iframe 。 runoob 的编辑器就是这样搞的: https://www.runoob.com/try/try.php?filename=tryhtml_intro http://c.runoob.com/front-end/61 |
5
kuoruan 2020-04-27 12:09:15 +08:00
提供一个思路:
前端传递参数请求后端,后端直接将页面渲染好后的内容返回,格式自定。 然后 ``` const blob = new Blob([html], { type: "text/html" }); const url = (URL || webkitURL).createObjectURL(blob); ``` 用 iframe 打开这个 url 即可,支持 IE10+ |
6
zqx 2020-04-27 12:49:23 +08:00 via Android
可以完全在前端实现的,输入区域的事件监听器触发预览区域的渲染逻辑就可以了
|
7
otakustay 2020-04-27 13:11:29 +08:00
|
8
luoyou1014 2020-04-27 14:07:46 +08:00 1
document.execCommand()
自己可以尝试实现下,比想象中的简单很多,直接用原生的接口就可以了。 |
9
ke1vin 2020-04-27 19:32:51 +08:00
你说的是类似邮箱里可视化 html 那种吗,好像没什么难度
|
10
hubqin 2020-04-28 09:16:03 +08:00
之前写过一个店铺装修功能,使用 vue 的数据 v-model 数据双向绑定,编辑区域数据编辑后,会传递给 vue 实例,预览区域读取 vue 的数据渲染。
|
11
mrrong 2020-04-28 11:21:18 +08:00
可以参考下 layoutit 这个插件,基于 bootstrap 布局,中间插入部分可以自己写插件,建造完成有预览功能,可以自动生成代码,编辑功能自己写,提前定义页面规则,拉取相应 css,进行修改后保存代码,其余的,像修改某个组件的 class,id 等,可以基于 layoutit 的编辑功能进行扩展。其中细节可以自己定义怎么实现。写的很乱,有问题或者建议可以再问我~
|