如果想自定义控制图片上传完成、失败、超时时的操作,可通过配置 `editor.config.uploadImgFns.onload` `editor.config.uploadImgFns.ontimeout` `editor.config.uploadImgFns.onerror` 三个事件来自定义。
另外,在自定义的上传事件中,可通过`editor.uploadImgOriginalName`来获取图片名称(例如用作`<img>`的`alt`属性),注意看代码注释。
**注意,`ontimeout`和`onerror`两个事件在IE8、9下不起作用**
----
代码示例如下:
```html
<div id="div1">
<p>请输入内容...</p>
</div>
<!--这里引用jquery和wangEditor.js-->
<script type="text/javascript">
var editor = new wangEditor('div1');
// 自定义load事件
editor.config.uploadImgFns.onload = function (resultText, xhr) {
// resultText 服务器端返回的text
// xhr 是 xmlHttpRequest 对象,IE8、9中不支持
// 上传图片时,已经将图片的名字存在 editor.uploadImgOriginalName
var originalName = editor.uploadImgOriginalName || '';
// 如果 resultText 是图片的url地址,可以这样插入图片:
editor.command(null, 'insertHtml', '<img src="' + resultText + '" alt="' + originalName + '" style="max-width:100%;"/>');
// 如果不想要 img 的 max-width 样式,也可以这样插入:
// editor.command(null, 'InsertImage', resultText);
};
// 自定义timeout事件
editor.config.uploadImgFns.ontimeout = function (xhr) {
// xhr 是 xmlHttpRequest 对象,IE8、9中不支持
alert('上传超时');
};
// 自定义error事件
editor.config.uploadImgFns.onerror = function (xhr) {
// xhr 是 xmlHttpRequest 对象,IE8、9中不支持
alert('上传错误');
};
editor.create();
</script>
```
----
以下代码,是wangEditor.js中定义的。**仅供参考,请勿直接复制粘贴来用**。
```js
var editor = this;
var fns = editor.config.uploadImgFns; // editor.config.uploadImgFns = {} 在config文件中定义了
// -------- 插入图片的方法 --------
function insertImg(src) {
var img = document.createElement('img');
img.onload = function () {
var html = '<img src="' + src + '" style="max-width:100%;"/>';
editor.command(null, 'insertHtml', html);
E.log('已插入图片,地址 ' + src);
img = null;
};
img.onerror = function () {
E.error('使用返回的结果获取图片,发生错误。请确认以下结果是否正确:' + src);
img = null;
};
img.src = src;
}
// -------- 定义load函数 --------
fns.onload || (fns.onload = function (resultText, xhr) {
E.log('上传结束,返回结果为 ' + resultText);
if (resultText.indexOf('error|') === 0) {
// 提示错误
E.warn('上传失败:' + resultText.split('|')[1]);
alert(resultText.split('|')[1]);
} else {
E.log('上传成功,即将插入编辑区域,结果为:' + resultText);
// 将结果插入编辑器
insertImg(resultText);
}
});
// -------- 定义tiemout函数 --------
fns.ontimeout || (fns.ontimeout = function (xhr) {
E.error('上传图片超时');
alert('上传图片超时');
});
// -------- 定义error函数 --------
fns.onerror || (fns.onerror = function (xhr) {
E.error('上传上图片发生错误');
alert('上传上图片发生错误');
});
```
- 关于wangEditor
- 遇到问题如何解决和提问【重要】
- 开始使用
- 下载
- 创建页面
- 生成编辑器(使用ID)
- 生成编辑器(使用element)
- 调整尺寸
- 销毁与恢复
- 一个页面多个编辑器
- 内容处理
- 初始化内容
- 获取内容
- 追加内容
- 清空内容
- 用 editor.$txt 做其他内容处理
- onchange事件
- 禁用/启用
- 参数配置
- 自定义菜单
- 自定义颜色、字体、字号
- 自定义表情
- 切换语言
- 百度地图key
- 菜单栏吸顶
- 配置全屏的z-index
- 关闭浏览器打印log
- 关闭过滤javascript
- 关闭粘贴过滤样式
- 只粘贴纯文本
- 插入代码-配置默认语言
- 自定义编辑器样式
- 自定义颜色
- 自定义菜单UI
- 自定义表格、引用、代码的样式
- 代码高亮样式
- 图片上传
- 使用前必读
- 支持情况
- 配置说明
- log提示辅助排错
- 后台代码示例
- C#
- java - 例1
- java - 例2
- php
- nodejs
- python
- 自定义上传事件
- 集成plupload插件
- 集成七牛云存储
- 跨域上传
- 上传图片出错时的解决步骤
- 使用模块定义
- 使用require.js
- 使用seajs
- 使用webpack
- 插件开发
- 对象结构
- 常用API
- 全局API
- 对象API
- 基础API
- 选区API
- 命令API
- 扩展一个菜单
- 『缩进』菜单
- 『行高』菜单
- 『插入符号』菜单
- 开发一个插件
- 常见问题
- 关于markdown
- 关于上传附件
- 关于背景图片
- 关于显示压缩图片
- 集成到React
- 集成到angular
- 集成到vue.js
- 如何避免与项目中的css冲突
- xss过滤
- 如何插入视频链接
- 关于mobile端编辑器
- 查看源码第一行有空格