WangEditor是一款开源的Web富文本编辑器,开箱即用,配置简单。官网地址:www.wangeditor.com/ TP8项目中使用步骤:
CDN方式引用
下载index.js文件和style.css文件到本地,引入项目,一般放在后台管理系统home页面中,方便统一调用。引入代码:
<!--wangeditor-->
<link href="/static/public/wangeditor/style.css" rel="stylesheet">
<script src="/static/public/wangeditor/index.js"></script>
发布文章页面
后台管理页面架构建议使用ajax.load的方式,主页面home采用单页面模式,根据点击相应,将需要的页面随时load到主页面。发布文章页面代码:
<style>
#editor—wrapper {
border: 1px solid #ccc;
z-index: 100;
/* 按需定义 */
}
#toolbar-container {
border-bottom: 1px solid #ccc;
}
#editor-container {
height: 500px;
}
</style>
<div class="content">
<div class="content_title">发布文章</div>
<div class="content_form">
<div class="content_form_a"><input placeholder="标题" class="input2" /></div>
<div class="content_form_b">
<!-- wangeditor编辑器 -->
<div id="editor—wrapper">
<div id="toolbar-container"><!-- 工具栏 --></div>
<div id="editor-container"><!-- 编辑器 --></div>
</div>
<div class="content_form_c"><button class="button1">发布</button></div>
</div>
</div>
</div>
<script>
/*声明变量已经移动到home.html页面*/
var html_content;//全局内容变量,可以提交到后端页面进行提交
var { createEditor, createToolbar } = window.wangEditor;
var editorConfig = {
placeholder: 'Type here...',
onChange(editor) {
html_content = editor.getHtml()
console.log('editor content', html_content)
// 也可以同步到 <textarea>
},
}
var editor = createEditor({
selector: '#editor-container',
html: '<p><br></p>',
config: editorConfig,
mode: 'default', // or 'simple'
})
var toolbarConfig = {}
var toolbar = createToolbar({
editor,
selector: '#toolbar-container',
config: toolbarConfig,
mode: 'default', // or 'simple'
})
</script>
注意:2024年12月份版的WangEditor增强了变量的声明保护,默认为const声明变量,不可以使用ajax.load方式重复声明变量,这里改成var声明,以便可以重复加载页面,构建单页面应用。