如果想自定義控制圖片上傳完成、失敗、超時時的操作,可通過配置 `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端編輯器
- 查看源碼第一行有空格