打开wangEditor3编辑器官网https://www.kancloud.cn/wangfupeng/wangeditor3/405041
下载demo至本地运行即可。
官网注意:
1、“开始使用”-->“创建一个编辑器”,js引用问题,这里的和下载的demo里的不一样
editor3初始化编辑器用的是E
var E = window.wangEditor
2、“上传图片”-->“tab显示和隐藏” ,可以设置显示‘上传图片’标签字样
// 下面两个配置,使用其中一个即可显示“上传图片”的tab。但是两者不要同时使用!!!
// editor.customConfig.uploadImgShowBase64 = true // 使用 base64 保存图片
// editor.customConfig.uploadImgServer = '/upload' // 上传图片到服务器
3、“上传图片”-->“上传到七牛云存储”,初始化七牛上传的方法uploadInit里的uptoken_url地址域名要和访问地址域名一致
重要的使用editor3编辑器js文件
把这个下载下来引入,用demo放入项目的话不可以使用初始化不了编辑器。
demo视图文件wangEditor3.html代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>wangEditor3 上传图片</title>
<link rel="stylesheet" type="text/css" href="../wangEditor/css/wangEditor.css">
</head>
<body>
<p>wangEditor3 上传到七牛云存储</p>
<div id="div1">
<p>欢迎使用 wangEditor 富文本编辑器</p>
</div>
<!-- <script type="text/javascript" src="../js/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="../wangEditor/js/wangEditor.min.js"></script>
<script type="text/javascript" src="../js/plupload/plupload.full.min.js"></script>
<script type="text/javascript" src="../js/plupload/i18n/zh_CN.js"></script>
<script type="text/javascript" src="../js/qiniu.js"></script> -->
<script type="text/javascript" src="../js/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="../yin/wangEditor.min.js"></script>
<script type="text/javascript" src="../yin/plupload.full.min.js"></script>
<script type="text/javascript" src="../yin/qiniu.js"></script>
<script type="text/javascript">
var E = window.wangEditor
var editor = new E('#div1')
// 允许上传到七牛云存储
editor.customConfig.qiniu = true
editor.create()
// 初始化七牛上传
uploadInit()
// 初始化七牛上传的方法
function uploadInit() {
var btnId = editor.imgMenuId;
var containerId = editor.toolbarElemId;
var textElemId = editor.textElemId;
// 创建上传对象
var uploader = Qiniu.uploader({
runtimes: 'html5,flash,html4', //上传模式,依次退化
browse_button: btnId, //上传选择的点选按钮,**必需**
uptoken_url: 'http://www.test.com/php-sdk/examples/upload_simple_file.php',
//Ajax请求upToken的Url,**强烈建议设置**(服务端提供)
// uptoken : '<Your upload token>',
//若未指定uptoken_url,则必须指定 uptoken ,uptoken由其他程序生成
// unique_names: true,
// 默认 false,key为文件名。若开启该选项,SDK会为每个文件自动生成key(文件名)
// save_key: true,
// 默认 false。若在服务端生成uptoken的上传策略中指定了 `sava_key`,则开启,SDK在前端将不对key进行任何处理
domain: 'http://7xrjl5.com1.z0.glb.clouddn.com/',
//bucket 域名,下载资源时用到,**必需**
container: containerId, //上传区域DOM ID,默认是browser_button的父元素,
max_file_size: '100mb', //最大文件体积限制
flash_swf_url: '../js/plupload/Moxie.swf', //引入flash,相对路径
filters: {
mime_types: [
//只允许上传图片文件 (注意,extensions中,逗号后面不要加空格)
{ title: "图片文件", extensions: "jpg,gif,png,bmp" }
]
},
max_retries: 3, //上传失败最大重试次数
dragdrop: true, //开启可拖曳上传
drop_element: textElemId, //拖曳上传区域元素的ID,拖曳文件或文件夹后可触发上传
chunk_size: '4mb', //分块上传时,每片的体积
auto_start: true, //选择文件后自动上传,若关闭需要自己绑定事件触发上传
init: {
'FilesAdded': function(up, files) {
plupload.each(files, function(file) {
// 文件添加进队列后,处理相关的事情
printLog('on FilesAdded');
});
},
'BeforeUpload': function(up, file) {
// 每个文件上传前,处理相关的事情
printLog('on BeforeUpload');
},
'UploadProgress': function(up, file) {
// 显示进度
printLog('进度 ' + file.percent)
},
'FileUploaded': function(up, file, info) {
// 每个文件上传成功后,处理相关的事情
// 其中 info 是文件上传成功后,服务端返回的json,形式如
// {
// "hash": "Fh8xVqod2MQ1mocfI4S4KpRL6D98",
// "key": "gogopher.jpg"
// }
printLog(info);
// 参考http://developer.qiniu.com/docs/v6/api/overview/up/response/simple-response.html
var domain = up.getOption('domain');
var res = $.parseJSON(info);
// var sourceLink = domain + res.key; //获取上传成功后的文件的Url
var sourceLink = res.url;
printLog(sourceLink);
// 插入图片到editor
editor.cmd.do('insertHtml', '<img src="' + sourceLink + '" style="max-width:100%;"/>')
},
'Error': function(up, err, errTip) {
//上传出错时,处理相关的事情
printLog('on Error');
},
'UploadComplete': function() {
//队列文件处理完毕后,处理相关的事情
printLog('on UploadComplete');
}
// Key 函数如果有需要自行配置,无特殊需要请注释
//,
// 'Key': function(up, file) {
// // 若想在前端对每个文件的key进行个性化处理,可以配置该函数
// // 该配置必须要在 unique_names: false , save_key: false 时才生效
// var key = "";
// // do something with key here
// return key
// }
}
});
// domain 为七牛空间(bucket)对应的域名,选择某个空间后,可通过"空间设置->基本设置->域名设置"查看获取
// uploader 为一个plupload对象,继承了所有plupload的方法,参考http://plupload.com/docs
}
// 封装 console.log 函数
function printLog(title, info) {
window.console && console.log(title, info);
}
</script>
</body>
</html>
放入项目的编辑框html,引入js文件及js代码:
扫描二维码关注公众号,回复:
6745660 查看本文章
<tr>
<th><span class="text-danger">*</span><label for="InputTpl">描述</label></th>
<td>
<!-- 加载编辑器的容器 -->
<!-- <script id="container" name="content" type="text/plain" style="width:791px;height:400px;"></script> -->
<input type="hidden" id="contenthtml" name="content">
<div id="div1"></div>
</td>
</tr>
<!-- 实例化编辑器 -->
<script type="text/javascript" src="/libs/wangEditor/js/wangEditor.min.js"></script>
<script type="text/javascript" src="/libs/wangEditor/js/plupload.full.min.js"></script>
<script type="text/javascript" src="/libs/wangEditor/js/qiniu.js"></script>
<script type="text/javascript" src="/libs/wangEditor/js/wangEditorUpload.js"></script>
wangEditorUpload.js:
var E = window.wangEditor
var editor = new E('#div1')
// 允许上传到七牛云存储
editor.customConfig.qiniu = true
editor.create()
// 初始化七牛上传
uploadInit()
// 初始化七牛上传的方法
function uploadInit() {
var btnId = editor.imgMenuId;
var containerId = editor.toolbarElemId;
var textElemId = editor.textElemId;
// 创建上传对象
var uploader = Qiniu.uploader({
runtimes: 'html5,flash,html4', //上传模式,依次退化
browse_button: btnId, //上传选择的点选按钮,**必需**
// uptoken_url: 'https://admin.zhssw.com/php-sdk/examples/upload_simple_file.php',
uptoken_url: 'http://test.admin.zhssw.com/Api/qiniuSimple',
// uptoken_url: 'https://msktapi.zhssw.com/Upload/qiniuSimple',
// uptoken_url: 'http://test.admin.zhssw.com/php-sdk/examples/upload_simple_file.php',
//Ajax请求upToken的Url,**强烈建议设置**(服务端提供)
// uptoken : '<Your upload token>',
//若未指定uptoken_url,则必须指定 uptoken ,uptoken由其他程序生成
// unique_names: true,
// 默认 false,key为文件名。若开启该选项,SDK会为每个文件自动生成key(文件名)
// save_key: true,
// 默认 false。若在服务端生成uptoken的上传策略中指定了 `sava_key`,则开启,SDK在前端将不对key进行任何处理
domain: 'http://7xrjl5.com1.z0.glb.clouddn.com/',
//bucket 域名,下载资源时用到,**必需**
container: containerId, //上传区域DOM ID,默认是browser_button的父元素,
max_file_size: '100mb', //最大文件体积限制
flash_swf_url: '../js/plupload/Moxie.swf', //引入flash,相对路径
filters: {
mime_types: [
//只允许上传图片文件 (注意,extensions中,逗号后面不要加空格)
{ title: "图片文件", extensions: "jpg,gif,png,bmp" }
]
},
max_retries: 3, //上传失败最大重试次数
dragdrop: true, //开启可拖曳上传
drop_element: textElemId, //拖曳上传区域元素的ID,拖曳文件或文件夹后可触发上传
chunk_size: '4mb', //分块上传时,每片的体积
auto_start: true, //选择文件后自动上传,若关闭需要自己绑定事件触发上传
init: {
'FilesAdded': function(up, files) {
plupload.each(files, function(file) {
// 文件添加进队列后,处理相关的事情
printLog('on FilesAdded');
});
},
'BeforeUpload': function(up, file) {
// 每个文件上传前,处理相关的事情
printLog('on BeforeUpload');
},
'UploadProgress': function(up, file) {
// 显示进度
printLog('进度 ' + file.percent)
},
'FileUploaded': function(up, file, info) {
// 每个文件上传成功后,处理相关的事情
// 其中 info 是文件上传成功后,服务端返回的json,形式如
// {
// "hash": "Fh8xVqod2MQ1mocfI4S4KpRL6D98",
// "key": "gogopher.jpg"
// }
printLog(info);
// 参考http://developer.qiniu.com/docs/v6/api/overview/up/response/simple-response.html
var domain = up.getOption('domain');
var res = $.parseJSON(info);
// var sourceLink = domain + res.key; //获取上传成功后的文件的Url
var sourceLink = res.url;
printLog(sourceLink);
// 插入图片到editor
editor.cmd.do('insertHtml', '<img src="' + sourceLink + '"/>')
},
'Error': function(up, err, errTip) {
//上传出错时,处理相关的事情
printLog('on Error');
},
'UploadComplete': function() {
//队列文件处理完毕后,处理相关的事情
printLog('on UploadComplete');
}
// Key 函数如果有需要自行配置,无特殊需要请注释
//,
// 'Key': function(up, file) {
// // 若想在前端对每个文件的key进行个性化处理,可以配置该函数
// // 该配置必须要在 unique_names: false , save_key: false 时才生效
// var key = "";
// // do something with key here
// return key
// }
}
});
// domain 为七牛空间(bucket)对应的域名,选择某个空间后,可通过"空间设置->基本设置->域名设置"查看获取
// uploader 为一个plupload对象,继承了所有plupload的方法,参考http://plupload.com/docs
}
// 封装 console.log 函数
function printLog(title, info) {
window.console && console.log(title, info);
}
if ( $("#btncontenthtml").length > 0 ){
document.getElementById('btncontenthtml').addEventListener('click', function () {
// 读取 html
var contents = $("#contenthtml").val(editor.txt.html());
// var contents = editor.txt.html();
// alert(contents);
}, false)
}
if ( $("#btncontenthtml1").length > 0 ){
document.getElementById('btncontenthtml1').addEventListener('click', function () {
// 读取 html
var contents = $("#contenthtml").val(editor.txt.html());
// var contents = editor.txt.html();
// alert(contents);
}, false)
}
wangEditor2编辑器使用手册地址:https://www.kancloud.cn/wangfupeng/wangeditor2/123691