百度富文本编辑器ueditor使用总结

最近做的项目用到了ueditor这个东东,但是他的一些配置文档对初次使用者来说很难以理解,故作此总结

1.ueditor 官方地址:http://ueditor.baidu.com/website/index.html

开发文档地址:http://ueditor.baidu.com/website/document.html

下载地址:http://ueditor.baidu.com/website/download.html (这里可选开发版,或MINI版)

2. 从官网上下载完整源码包,解压到任意目录,解压后的源码目录结构如下所示:

_examples:编辑器完整版的示例页面

dialogs:弹出对话框对应的资源和js文件

themes:样式图片和样式文件   PHP/jsp/.net:涉及到服务器端操作的后台文件,根据你选择的不同后台版本,这里也会不同,这里我们选择php

third-party:第三方插件(包括代码高亮,源码编辑等组件)

editor_all.js:_src目录下所有文件的打包文件(用于发布版本)

editor_api.js: API接口配置文件(开发版本)

editor_all_min.js:editor_all.js文件的压缩版,建议在正式部署时才采用

editor_config.js:编辑器的配置文件,建议和编辑器实例化页面置于同一目录

3.编辑器的实例化页面,导入编辑器需要的三个入口文件,示例代码如下:

[javascript] view plain copy

  1. <script type="text/javascript" charset="utf-8" src="../umeditor.config.js"></script>
  2. <!--使用版-->
  3. <!--<script type="text/javascript" charset="utf-8" src="../umeditor.all.js"></script>-->
  4. <!--开发版-->
  5. <script type="text/javascript" charset="utf-8" src="editor_api.js"></script>
  6. <script type="text/javascript" src="../lang/zh-cn/zh-cn.js"></script>

4.然后在编辑器的实例化页面中创建编辑器实例及其DOM容器,示例代码如下:

[javascript] view plain copy

  1. <textarea name="后台取值的key" id="myEditor">这里写你的初始化内容</textarea>
  2. <script type="text/javascript">
  3. var editor = new UE.ui.Editor();
  4. editor.render("myEditor");
  5. //1.2.4以后可以使用一下代码实例化编辑器
  6. //UE.getEditor(‘myEditor‘)
  7. </script>

5.在editor_config.js中查找URL变量配置编辑器在你项目中的路径。

官网示例:

[javascript] view plain copy

  1. //强烈推荐以这种方式进行绝对路径配置
  2. URL= window.UEDITOR_HOME_URL||"/UETest/ueditor/";

我的配置:

[javascript] view plain copy

  1. (function () {
  2. /**
  3. * 编辑器资源文件根路径。它所表示的含义是:以编辑器实例化页面为当前路径,指向编辑器资源文件(即dialog等文件夹)的路径。
  4. * 鉴于很多同学在使用编辑器的时候出现的种种路径问题,此处强烈建议大家使用"相对于网站根目录的相对路径"进行配置。
  5. * "相对于网站根目录的相对路径"也就是以斜杠开头的形如"/myProject/umeditor/"这样的路径。
  6. * 如果站点中有多个不在同一层级的页面需要实例化编辑器,且引用了同一UEditor的时候,此处的URL可能不适用于每个页面的编辑器。
  7. * 因此,UEditor提供了针对不同页面的编辑器可单独配置的根路径,具体来说,在需要实例化编辑器的页面最顶部写上如下代码即可。当然,需要令此处的URL等于对应的配置。
  8. * window.UMEDITOR_HOME_URL = "/xxxx/xxxx/";
  9. */
  10. /**
  11. * @author wusuopubupt
  12. * @date 2013-10-24
  13. *
  14. * set window.UMEDITOR_HOME_URL = "/ueditor/";
  15. *
  16. * */
  17. window.UMEDITOR_HOME_URL = "/ueditor/";  //注意就是这里!
  18. var URL = window.UMEDITOR_HOME_URL || (function(){
  19. function PathStack() {

6.如果用editor_api.js (也就是不用editor.all.js)开发时,打开editor_api.js,代码如下

[javascript] view plain copy

  1. /**
  2. * 开发版本的文件导入
  3. */
  4. (function (){
  5. var paths  = [
  6. ‘editor.js‘,
  7. ‘core/browser.js‘,
  8. ‘core/utils.js‘,
  9. ‘core/EventBase.js‘,
  10. ‘core/dtd.js‘,
  11. ‘core/domUtils.js‘,
  12. ‘core/Range.js‘,
  13. ‘core/Selection.js‘,
  14. ‘core/Editor.js‘,
  15. ‘core/filterword.js‘,
  16. ‘core/node.js‘,
  17. ‘core/htmlparser.js‘,
  18. ‘core/filternode.js‘,
  19. ‘plugins/inserthtml.js‘,
  20. ‘plugins/image.js‘,
  21. ‘plugins/justify.js‘,
  22. ‘plugins/font.js‘,
  23. ‘plugins/link.js‘,
  24. ‘plugins/print.js‘,
  25. ‘plugins/paragraph.js‘,
  26. ‘plugins/horizontal.js‘,
  27. ‘plugins/cleardoc.js‘,
  28. ‘plugins/undo.js‘,
  29. ‘plugins/paste.js‘,
  30. ‘plugins/list.js‘,
  31. ‘plugins/source.js‘,
  32. ‘plugins/enterkey.js‘,
  33. ‘plugins/preview.js‘,
  34. ‘plugins/basestyle.js‘,
  35. ‘plugins/video.js‘,
  36. ‘plugins/selectall.js‘,
  37. ‘plugins/removeformat.js‘,
  38. ‘plugins/keystrokes.js‘,
  39. ‘plugins/dropfile.js‘,
  40. ‘ui/widget.js‘,
  41. ‘ui/button.js‘,
  42. ‘ui/toolbar.js‘,
  43. ‘ui/menu.js‘,
  44. ‘ui/dropmenu.js‘,
  45. ‘ui/splitbutton.js‘,
  46. ‘ui/colorsplitbutton.js‘,
  47. ‘ui/popup.js‘,
  48. ‘ui/scale.js‘,
  49. ‘ui/colorpicker.js‘,
  50. ‘ui/combobox.js‘,
  51. ‘ui/buttoncombobox.js‘,
  52. ‘ui/modal.js‘,
  53. ‘ui/tooltip.js‘,
  54. ‘ui/tab.js‘,
  55. ‘ui/separator.js‘,
  56. ‘ui/scale.js‘,
  57. ‘adapter/adapter.js‘,
  58. ‘adapter/button.js‘,
  59. ‘adapter/fullscreen.js‘,
  60. ‘adapter/dialog.js‘,
  61. ‘adapter/popup.js‘,
  62. ‘adapter/imagescale.js‘,
  63. ‘adapter/autofloat.js‘,
  64. ‘adapter/source.js‘,
  65. ‘adapter/combobox.js‘
  66. ],
  67. /**
  68. * @author wusuopubupt
  69. * @date 2013-10-24
  70. *
  71. * modified  baseURL = ‘/ueditor/src/‘;
  72. */
  73. baseURL = ‘/ueditor/src/‘;
  74. for (var i=0,pi;pi = paths[i++];) {
  75. document.write(‘<script type="text/javascript" src="‘+ baseURL + pi +‘"></script>‘);
  76. }
  77. })();

可以看到,这里有一项:baseURL,就是JS文件的路由,这里要根据ueditor_api.js文件的实际路径去配置!
    
  7.文件上传问题:

打开ueditor.config.js,可以看到如下配置:

[javascript] view plain copy

  1. //图片上传配置区
  2. ,imageUrl:URL+"php/imageUp.php"             //图片上传提交地址
  3. //,imagePath:URL + "php/"                     //图片修正地址,引用了fixedImagePath,如有特殊需求,可自行配置
  4. ,imagePath:"http://test.mathandcs.com/"
  5. ,imageFieldName:"upfile"                   //图片数据的key,若此处修改,需要在后台对应文件修改对应参数

这里的imageURL是图片上传所调用的php文件的地址,而imagePath则是为新上传的图片生成的图片地址的host部分;

再打开ueditor/php/下的imageUp.php文件,有配置如下:

[php] view plain copy

  1. $config = array(
  2. "savePath" => "/var/www/store/upload/" ,             //存储文件夹
  3. "maxSize" => 1000 ,                   //允许的文件最大尺寸,单位KB
  4. "allowFiles" => array( ".gif" , ".png" , ".jpg" , ".jpeg" , ".bmp" )  //允许的文件格式
  5. );
  6. //上传文件目录
  7. //$Path = "upload/";
  8. $Path = "/var/www/store/upload/";

这里需要把上传文件到服务器的目的地址(上传文件保存文件)savePath修改成你指定的文件地址。

由于相对路径和绝对路径的问题,生成的地址有可能是错的,这时就要hack一下生成图片URL的JS文件:

ueditor/dialogs/image/image.js 中修改:

[javascript] view plain copy

  1. /**
  2. * @author wusuopubupt
  3. * @date 2013-10-24
  4. * @return url modified
  5. * */
  6. var reg = /\/var\/www\/test\/upload\//;
  7. url = url.replace(reg,"");
  8. var $img = $("<img src=‘" + editor.options.imagePath + url + "‘ class=‘edui-image-pic‘ />"),
  9. $item = $("<div class=‘edui-image-item edui-image-upload-item‘><div class=‘edui-image-close‘></div></div>").append($img);

这里的正则的规则要根据具体情况来定!

至此,Ueditor便在我的环境中配置成功了。

更多详细的文档请参考ueditor官网DOC:http://ueditor.baidu.com/website/document.html

时间: 2024-12-05 02:44:33

百度富文本编辑器ueditor使用总结的相关文章

Django集成百度富文本编辑器uEditor

UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码. 首先从ueEditor官网下载最新版本的包,目前官网上提供了ASP..NET.PHP.JSP版本的,django版本只有一个第三方个人开发的,但看上出配置起来稍微复杂一点. 这里不介绍uEditor的使用方法,也不过多解释uEditor的配置方法,官网上都有详细的文档和API介绍,下载的Demo中也有常用的方法的示例代码,这里主要介绍uEdi

Jfinal整合百度富文本编辑器ueditor

ueditor配置文件ueditor.config.js修改参数serverUrl:(改为要调用的controller) 后台添加该路由指定的controller package com.sandu.mega.admin.ueditor; import com.jfinal.aop.Clear; import com.jfinal.core.Controller; import com.jfinal.kit.Ret; import com.jfinal.upload.UploadFile; im

百度富文本编辑器ueditor添加到pom

<!-- 百度富文本编辑start --> <dependency> <groupId>com.baidu</groupId> <artifactId>ueditor</artifactId> <version>1.1.2</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/webap

百度富文本编辑器ueditor/jsp版的简单使用,可上传图片和附件

~~经过一上午的时间,终于把ueditor编辑器搞出来了,仅做记录 #完成的样子 1,首先在官网下载对应的插件 [附下载地址:http://ueditor.baidu.com/website/download.html]    本人使用的是Java语言 ,框架是ssm+maven 2,解压文件,在自己项目的根目录下新建文件夹 ueditor,把utf8-jsp中文件复制粘贴到ueditor文件夹下 3,新建一个ueditorTest.jsp,把文件夹中index.html中的HTML代码复制粘贴

百度富文本编辑器UEDITOR

前言 配置.net mvc4项目使用ueditor编辑器,在配置过程中遇见了好几个问题,以此来记录解决办法.编辑器可以到http://ueditor.baidu.com/website/download.html#ueditor处下载.net 的开发包,如下图,我下载的是1.2.6.1net版本的开发包. 配置: 1.将开发包放到mvc4项目中,在我的项目中我放到了Content目录下 2.在模板页中引入js和样式文件: 3.在页面中配置初始化编辑器,在页面中配置textarea显示为编辑器,编

使用百度富文本编辑器UEditor碰到的问题

前面使用的是kindEditor,但是发现这个已经不再维护,并且bug不少,而我又不会改,哈哈,所以我就放弃了. 原来想过要用百度的这个UEditor,但是在配置的时候遇到了很多问题,基本上加载不出来,但是最后还是硬着头皮把那些bug都解决了,顺利跑通. 问题1:按百度Demo的配置我发现连最基本的编辑器都不出来. 原因:下面的配置的顺序不能错,顺序错了可能会导致加载不出来的情况. <!-- 配置文件 --> <script type="text/javascript"

解决百度富文本编辑器 UEditor 插入视频后没有路径的问题

在 Update ueditor.config.js 文件中,xssFilter导致插入视频异常,编辑器在切换源码的过程中过滤掉img的_url属性(用来存储视频url)_src/plugins/video.js里处理的是_url,而不是_src. 修改ueditor.config.js: img:    ['src', 'alt', 'title', 'width', 'height', 'id', '_src', '_url', 'loadingclass', 'class', 'data-

百度富文本编辑器UEditor自定义上传图片接口

如下图:  然后修改ueditor.all.js 

UEditor百度富文本编辑器--让编辑器自适应宽度的解决方案

UEditor百度富文本编辑器的initialFrameWidth属性,默认值是1000. 不能够自适应屏幕宽度.如图1: 刚开始的时候,我是直接设置initialFrameWidth=null的.效果如图2: 这样子UEditor百度富文本编辑器会在第一次加载的时候获取屏幕宽度,然后赋值给initialFrameWidth属性. 这样子确实是可以在第一次加载的时候适应屏幕宽度,但是却似乎宽度稍微过了一点点,超过上面的灰条了.而且这里还有一个问题: 当你改变浏览器大小时,会有个很严重的排版BUG