第一步, 引入文件
<script src="ueditor/ueditor.config.js" type="text/javascript" charset="utf-8"></script> <script src="ueditor/ueditor.all.min.js" type="text/javascript" charset="utf-8"></script> <script src="../jquery.min.js" type="text/javascript" charset="utf-8"></script>
第二步 html元素
<script type="text/plain" id="upload_ue"></script> 調用的頁面: <input type="text" id="picture" name="cover" /><a href="javascript:void(0);" onclick="upImage();">上傳圖片</a> <input type="text" id="file" /><a href="javascript:void(0);" onclick="upFiles();">上傳文件</a>
第三步 編寫js代碼
<script type="text/javascript"> var _editor; $(function() { //重新實例化一個編輯器,防止在上面的editor編輯器中顯示上傳的圖片或者文件 _editor = UE.getEditor('upload_ue'); _editor.ready(function () { //設置編輯器不可用 _editor.setDisabled(); //隱藏編輯器,因為不會用到這個編輯器實例,所以要隱藏 _editor.hide(); //偵聽圖片上傳 _editor.addListener('beforeInsertImage', function (t, arg) { //將地址賦值給相應的input,只去第一張圖片的路徑 $("#picture").attr("value", arg[0].src); //圖片預覽 $("#preview").attr("src", arg[0].src); }) //偵聽文件上傳,取上傳文件列表中第一個上傳的文件的路徑 _editor.addListener('afterUpfile', function (t, arg) { $("#file").attr("value", _editor.options.filePath + arg[0].url); }) }); }); //彈出圖片上傳的對話框 function upImage() { var myImage = _editor.getDialog("insertimage"); myImage.open(); } //彈出文件上傳的對話框 function upFiles() { var myFiles = _editor.getDialog("attachment"); myFiles.open(); } </script>
第四步 最重要的一步, 修改bug
打開image插件的image.js 108行
editor.execCommand('insertimage', list);代碼之前加入
editor.fireEvent('beforeinsertimage', list);然后問題搞定
在ueditor文件夾中找到文件dialogs\attachment\attachment.html中找到代碼
editor.execCommand("insertHTML",str);代碼之前加入
editor.fireEvent('afterUpfile', filesList);然后問題搞定