百度UEditor编辑器!合入PHP网站!

合集下载

免费开源百度编辑器(UEditor)使用方法

免费开源百度编辑器(UEditor)使用方法

免费开源百度编辑器(UEditor)使⽤⽅法UEditor效果图UEditor是⼀个开源免费的编辑器,由百度web前端研发部开发所见即所得富⽂本web编辑器,具有轻量,可定制,注重⽤户体验等特点,开源基于BSD协议,允许⾃由使⽤和修改代码。

官⽹上下载完整源码包,解压到任意⽬录,解压后的源码⽬录结构如下所⽰:_examples:编辑器完整版的⽰例页⾯dialogs:弹出对话框对应的资源和JS⽂件themes:样式图⽚和样式⽂件php/jsp/.net:涉及到服务器端操作的后台⽂件,根据你选择的不同后台版本,这⾥也会不同,这⾥应该是jsp,php,.netthird-party:第三⽅插件(包括代码⾼亮,源码编辑等组件)editor_all.js:_src⽬录下所有⽂件的打包⽂件editor_all_min.js:editor_all.js⽂件的压缩版,建议在正式部署时才采⽤editor_config.js:编辑器的配置⽂件,建议和编辑器实例化页⾯置于同⼀⽬录或者⽹上搜索别⼈配置好的实例,这样⾃⼰就不⽤折腾了。

我⾃⼰弄的,结果折腾了好久,差点想放弃了!我下载的是开发版 [1.2.5.1 .Net 版本] 2013年4⽉27⽇,最新版本。

代码结构图第⼀步:在项⽬的任⼀⽂件夹中建⽴⼀个⽤于存放UEditor相关资源和⽂件的⽬录,此处在项⽬根⽬录下建⽴,起名为ueditor(⾃⼰喜欢)。

第⼆步:拷贝源码包中的dialogs、themes、third-party、editor_all.js和editor_config.js到ueditor⽂夹中。

其中,除了ueditor⽬录之外的其余⽂件均为具体项⽬⽂件,此处所列仅供⽰例。

第三步:为简单起见,此处将以根⽬录下的index.php页⾯作为编辑器的实例化页⾯,⽤来展⽰UEditor的完整版效果。

在index.php⽂件中,⾸先导⼊编辑器需要的三个⼊⼝⽂件,⽰例代码如下:复制代码代码如下:<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>编辑器完整版实例</title><script type="text/javascript" src="ueditor/editor_config.js"></script><script type="text/javascript" src="ueditor/editor_all.js"></script>复制代码代码如下:<textarea name="后台取值的key" id="myEditor">这⾥写你的初始化内容</textarea><script type="text/javascript">var editor = new UE.ui.Editor();editor.render("myEditor");//1.2.4以后可以使⽤⼀下代码实例化编辑器//UE.getEditor('myEditor')</script>最后⼀步:在/UETest/ueditor/ editor_config.js中查找URL变量配置编辑器在你项⽬中的路复制代码代码如下://强烈推荐以这种⽅式进⾏绝对路径配置(注意:下⾯的UETest是虚拟⽬录名称)URL= window.UEDITOR_HOME_URL||"/UETest/ueditor/";1.在引⽤editor_config.js时,最好先于editor_all.js加载,否则特定情况下可能会出现报错。

百度编辑器UEditor的插件开发

百度编辑器UEditor的插件开发

百度编辑器UEditor的插件开发1.概述UEditor是由百度web前端研发部开发的所见即所得富文本web编辑器,具有轻量、可定制、注重用户体验等特点,开源基于BSD协议,允许自由使用和修改代码。

2.下载UEditor截至2013.11.27,最新版本为1.3.5,下面是具体的相关文档的下载地址:百度官网下载地址:/download.html#ueditor;官方文档资料地址:/document.html;官方API地址:/。

3.源码包文件说明从官网上下载完整源码包,解压到任意目录,解压后的源码目录结构如下所示:•_examples:编辑器的示例页面•dialogs:弹出对话框对应的资源和JS文件•themes:样式图片和样式文件•editor.config.js:编辑器的配置文件•editor.api.js:开发版的所有js文件导入•editor.all.js:使用版的所有js文件•lang:语言文件•jsp、net、php:涉及到服务器端操作的文件•third-party:第三方插件4.部署和使用UEditor可供普通用户使用,同时UEditor的插件机制也为二次开发者提供了自定义插件的开发。

1)在项目的任一文件夹中建立一个用于存放UEditor相关资源和文件的目录。

2)创建简单的编辑器实例,首先在html页面中准备一个dom容器,容器可以是<textareaid="editor"></textarea>或<divid="editor"></div>,也可以是<scripttype="text/plain"id="editor"></script>标签。

3)引入相关文件1 2 3 4 5 <scripttype="text/javascript"src="editor.config.js"></script><!--使用版--><!--<scripttype="text/javascript"src="ueditor.all.js"></script>--> <!--开发版--><scripttype="text/javascript"src="editor.api.js"></script>4)创建编辑器1 <scripttype="text/javascript"charset="utf-8">2 3 4 5 6 7 8 9101112131415161718 //通过new操作符实例化编辑器对象varmyEditor=newbaidu.editor.ui.Editor(); myEditor.render('editor');//渲染dom容器//使用UE.getEditor()实例化编辑器对象varmyEditor=UE.getEditor('myEditor');//通过new操作符实例化编辑器对象并自定义配置项varmyEditor=newbaidu.editor.ui.Editor({ toolbars:[//自定义工具栏['FullScreen','Source','Undo','Redo']],wordCount:false,//关闭字数统计elementPathEnabled:false,//关闭elementPath initialFrameHeight:300//默认的编辑区域高度});myEditor.render('editor');1920212223242526272829 //通过UE.getEditor()实例化编辑器对象并自定义配置项UE.getEditor('myEditor',{toolbars:[//自定义工具栏['FullScreen','Source','Undo','Redo']],wordCount:false,//关闭字数统计elementPathEnabled:false,//关闭elementPath initialFrameHeight:300//默认的编辑区域高度})</script>说明:使用<textarea>和<scripttype="text/plain">标签做渲染容器,可以在容器中设置编辑器初始化的内容,如:<textareaid="editor">编辑器初始化的内容</textarea>;<scripttype="text/plain"id="myEditor">编辑器初始化的内容</script>;但是如果使用div作为渲染容器,就不可以在标签里设置初始值,但可通过在创建编辑器的时候配置initialContent参数来设置初始值。

ueditor百度编辑器的赋值方法

ueditor百度编辑器的赋值方法

ueditor百度编辑器的赋值⽅法⽰例: /website/onlinedemo.html引⽤代码: window.UMEDITOR_HOME_URL = $CONFIG['domain'] + "/res/local/js/ueditor/"; //注意就是这⾥!window.UEDITOR_CONFIG.imageUrl = $CONFIG['domain'] + '/goodspic?type=2';window.UEDITOR_CONFIG.savePath= ['upload'];window.UEDITOR_CONFIG.imagePath = $CONFIG['domain'] + '/res/local/uploads/';UE.getEditor('addArea')UE.getEditor('areaBottom')⽰例代码var domUtils = UE.dom.domUtils;var ServerUrl = '/server/ueditor/';var options = {//图⽚上传配置区serverUrl:ServerUrl+"controller.php",imageUrl:ServerUrl+"imageUp.php" //图⽚上传提交地址,imagePath:ServerUrl //图⽚修正地址,引⽤了fixedImagePath,如有特殊需求,可⾃⾏配置//涂鸦图⽚配置区,scrawlUrl:ServerUrl+"scrawlUp.php" //涂鸦上传地址,scrawlPath:ServerUrl+"" //图⽚修正地址,同imagePath//附件上传配置区,fileUrl:ServerUrl+"fileUp.php" //附件上传提交地址,filePath:ServerUrl //附件修正地址,同imagePath,catchRemoteImageEnable: false// ,catcherUrl:ServerUrl +"getRemoteImage.php" //处理远程图⽚抓取的地址// ,catcherPath:ServerUrl //图⽚修正地址,同imagePath,imageManagerUrl:ServerUrl + "imageManager.php" //图⽚在线管理的处理地址,imageManagerPath:ServerUrl //图⽚修正地址,同imagePath,snapscreenHost: location.hostname //屏幕截图的server端⽂件所在的⽹站地址或者ip,请不要加http://,snapscreenServerUrl: ServerUrl +"imageUp.php" //屏幕截图的server端保存程序,UEditor的范例代码为“ServerUrl +"server/upload/snapImgUp.php"” ,snapscreenPath: ServerUrl,snapscreenServerPort: location.port //屏幕截图的server端端⼝,wordImageUrl:ServerUrl + "imageUp.php" //word转存提交地址,wordImagePath:ServerUrl //,getMovieUrl:ServerUrl+"getMovie.php" //视频数据获取地址,videoUrl:ServerUrl+"fileUp.php" //附件上传提交地址,videoPath:ServerUrl, //附件修正地址,同imagePathlang:/^zh/.test(nguage || navigator.browserLanguage || erLanguage) ? 'zh-cn' : 'en',langPath:UEDITOR_HOME_URL + "lang/",disabledTableInTable: false,webAppKey:"9HrmGf2ul4mlyK8ktO2Ziayd",initialFrameWidth:860,initialFrameHeight:400,focus:true,shortcutMenu:["fontfamily", "fontsize", "bold", "italic", "underline", "forecolor", "backcolor", "insertorderedlist", "insertunorderedlist"]};function setLanguage(obj) {var value = obj.value,opt = {lang:value};UE.utils.extend(opt, options, true);UE.delEditor("editor");//清空语⾔if (!UE._bak_I18N) {UE._bak_I18N = UE.I18N;}UE.I18N = {};UE.I18N[ng] = UE._bak_I18N[ ng ];UE.getEditor('editor', opt);}function isFocus(e){alert(UE.getEditor('editor').isFocus());UE.dom.domUtils.preventDefault(e)}function setblur(e){UE.getEditor('editor').blur();UE.dom.domUtils.preventDefault(e)}function insertHtml() {var value = prompt('插⼊html代码', '');UE.getEditor('editor').execCommand('insertHtml', value)}function createEditor() {enableBtn();UE.getEditor('editor', {initialFrameWidth:"100%"})}function getAllHtml() {alert(UE.getEditor('editor').getAllHtml())}function getContent() {var arr = [];arr.push("使⽤editor.getContent()⽅法可以获得编辑器的内容");arr.push("内容为:");arr.push(UE.getEditor('editor').getContent());alert(arr.join("\n"));}function getPlainTxt() {var arr = [];arr.push("使⽤editor.getPlainTxt()⽅法可以获得编辑器的带格式的纯⽂本内容");arr.push("内容为:");arr.push(UE.getEditor('editor').getPlainTxt());alert(arr.join('\n'))}function setContent(isAppendTo) {var arr = [];arr.push("使⽤editor.setContent('欢迎使⽤ueditor')⽅法可以设置编辑器的内容");UE.getEditor('editor').setContent('欢迎使⽤ueditor', isAppendTo);alert(arr.join("\n"));}function setDisabled() {UE.getEditor('editor').setDisabled('fullscreen');disableBtn("enable");}function setEnabled() {UE.getEditor('editor').setEnabled();enableBtn();}function getText() {//当你点击按钮时编辑区域已经失去了焦点,如果直接⽤getText将不会得到内容,所以要在选回来,然后取得内容 var range = UE.getEditor('editor').selection.getRange();range.select();var txt = UE.getEditor('editor').selection.getText();alert(txt)}function getContentTxt() {var arr = [];arr.push("使⽤editor.getContentTxt()⽅法可以获得编辑器的纯⽂本内容");arr.push("编辑器的纯⽂本内容为:");arr.push(UE.getEditor('editor').getContentTxt());alert(arr.join("\n"));}function hasContent() {var arr = [];arr.push("使⽤editor.hasContents()⽅法判断编辑器⾥是否有内容");arr.push("判断结果为:");arr.push(UE.getEditor('editor').hasContents());alert(arr.join("\n"));}function setFocus() {UE.getEditor('editor').focus();}function deleteEditor() {disableBtn();UE.getEditor('editor').destroy();}function disableBtn(str) {var div = document.getElementById('btns');var btns = domUtils.getElementsByTagName(div, "button");for (var i = 0, btn; btn = btns[i++];) {if (btn.id == str) {domUtils.removeAttributes(btn, ["disabled"]);} else {btn.setAttribute("disabled", "true");}}}function enableBtn() {var div = document.getElementById('btns');var btns = domUtils.getElementsByTagName(div, "button"); for (var i = 0, btn; btn = btns[i++];) {domUtils.removeAttributes(btn, ["disabled"]);}}function getLocalData () {alert(UE.getEditor('editor').execCommand( "getlocaldata" )); }function clearLocalData () {UE.getEditor('editor').execCommand( "clearlocaldata" );alert("已清空草稿箱")}window.onkeydown = function (e){if (!ue.isFocus()) {var keyCode = e.keyCode || e.which;if (keyCode == 8) {e.preventDefault();}}};。

百度富文本编辑器使用(PHP)

百度富文本编辑器使用(PHP)

百度富⽂本编辑器使⽤(PHP) // ========================================================================2-2,PHP 具体使⽤<script>//-- 百度富⽂本编辑器 new UE -------------------var ueditor = null;$config = { // 配置serverUrl: '/editor/report.php',// ⼯具栏,⾃⼰选择增删toolbars: [['fullscreen', 'fontsize', '|', 'undo', 'redo', '|', 'bold', 'italic', 'underline', 'forecolor', 'link',]],autoHeightEnabled: false,};//--------------------------------------------// 2-1-1, 获取vue上的数据放到编辑中 ===========================//-- 百度富⽂本【新增】 -----------------ueditor = UE.getEditor('txtDesc', $config);//-----------------------------------------// 2-1-2, 将编辑器中数据ueditor.getContent()重新赋值到vue中 ========//-- 百度编辑器获取⽂本框输⼊的值 --------this.childReport.sDesc = ueditor.getContent();//----------------------------------------</script>// php 提供 action=config的接⼝$action = $_aRequest['action'] ? trim($_aRequest['action']) : '';if ($action == 'config') {exit('{/* 上传图⽚配置项 */"imageActionName": "uploadimage", /* 执⾏上传图⽚的action名称 */"imageFieldName": "upfile", /* 提交的图⽚表单名称 */"imageMaxSize": 5242880, /* 上传⼤⼩限制,单位B */"imageAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 上传图⽚格式显⽰ */"imageCompressEnable": true, /* 是否压缩图⽚,默认是true */"imageCompressBorder":1600,"imageInsertAlign":"none","imageUrlPrefix":"", /* 图⽚访问路径前缀 *//* 上传视频配置 */"videoActionName": "uploadvideo", /* 执⾏上传视频的action名称 */"videoFieldName": "upfile", /* 提交的视频表单名称 */"videoUrlPrefix": "", /* 视频访问路径前缀 */"videoMaxSize": 102400000, /* 上传⼤⼩限制,单位B,默认100MB *//* 上传视频格式显⽰ */"videoAllowFiles": [".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg",".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid"],}');}。

如何将UEditor部署到PHP程序上

如何将UEditor部署到PHP程序上

UEditor是由百度WEB前端研发部开发的所见即所得的开源富文本编辑器,具有轻量、可定制、用户体验优秀等特点。

开源基于BSD协议,所有源代码在协议允许范围内可自由修改和使用。

最近在开发程序的时候需要集成一个富文本编辑器,UEditor的UI及UE比CKEditor、KindEditor要好出不少。

所以简单地对UEditor研究了一下,记录于此。

一、下载UEditor编辑器UEditor官方网站:/在下载频道可以下载到最新版本的UEditorUEditor的下载方式分为两种,完整下载与定制下载,完整下载提供UTF-8与GBK两种编码的版本,定制下载目前只有UTF-8编码,推荐使用定制下载,按需求定制,如果程序不是UTF-8编码,可以使用EditPlus等工具将压缩包里所有的HTML及JS文件转码,记得同时修改HTML文件中的charset=utf-8。

二、精简UEditor编辑器完整版的相关文档与示例页面较多,可以自行研究一下,下面为定制版中可以精简的文件。

index.html是所定制的UEditor编辑器的示例文件,删除之。

editor.js与editor.min.js内容相同,editor.min.js是editor.js的压缩版,使用时加载editor.min.js 即可,所以editor.js也可以删除。

三、将UEditor部署到PHP程序上1.将UEditor的所有文件放在PHP程序的目录中,这里我把文件放在/ueditor目录下。

2.在网页中引入UEditor文件<script type="text/javascript" src="ueditor/editor_config.js"></script><script type="text/javascript" src="ueditor/editor.min.js"></script>3.在textarea标签下初始化UEditor<script type="text/javascript">var editor = new UE.ui.Editor();textarea:'name'; //与textarea的name值保持一致editor.render('name');</script>四、配置UEditor编辑器editor_config.js是UEditor的配置文件,首先对路径进行配置。

跟我学百度UEditor在线文本编辑器及应用实例——在J2EE Web应用系统中如何配置UEditor在线文本编辑器

跟我学百度UEditor在线文本编辑器及应用实例——在J2EE Web应用系统中如何配置UEditor在线文本编辑器

1.1跟我学百度UEditor在线文本编辑器及应用实例——在J2EE Web应用系统中如何配置UEditor在线文本编辑器1.1.1UEditor在线文本编辑器的浏览器前端配置相关的属性选项1、修改UEditor在线文本编辑器配置的两种方式(1)第一种方法是通过重新定义ueditor.config.js配置文件中的如下的属性选项window.UEDITOR_HOME_URL的值在引用editor_config.js文件之前,在JavaScript程序代码中需要重新设置ueditor.config.js 配置文件中的window.UEDITOR_HOME_URL变量的值为“编辑器资源文件根路径”,如下为代码示例:<script type="text/javascript">window.UEDITOR_HOME_URL = "./baiduUEditor/";</script>一般都采用网站根目录的相对路径,也就是以斜杠开头的形如"/myProject/ueditor/"这样的路径。

(2)第二种方法是在对UEditor在线文本编辑器进行对象实例化的时传入相关的属性选项的配置参数,如下为代码示例:var ue = UE.getEditor('ueditorTextAreaID', {toolbars: [['fullscreen', 'source', 'undo', 'redo', 'bold']],autoHeightEnabled: true,autoFloatEnabled: true});2、在引用UEditor在线文本编辑器的页面中重新定义window.UEDITOR_HOME_URL (1)采用相对目录路径的示例<script type="text/javascript">window.UEDITOR_HOME_URL = "./baiduUEditor/";</script><script type="text/javascript" src="./baiduUEditor/ueditor.config.js"></script><script type="text/javascript" src="./baiduUEditor/ueditor.all.min.js"></script><script type="text/javascript" charset="utf-8"src="./baiduUEditor/lang/zh-cn/zh-cn.js"></script> 注意UEDITOR_HOME_URL、config、all这三个顺序不能改变。

快速掌握百度编辑器在php中基本使用

快速掌握百度编辑器在php中基本使用

/***********************************************/引入百度编辑器ueditor:使用方法如下:下载ueditor编辑器文件后,将其放在自己的引入路径(include)文件夹中,ueditor编辑器文件(使用版)包括editor_all.js,editor_configs.js等文件。

1. php中引入文件及文本域:<link rel="stylesheet" type="text/css" href="ueditor/themes/default/css/ueditor. css"/><script type="text/javascript" src="ueditor/editor_all.js"></script><script type="text/javascript" src="ueditor/editor_config.js"></script><form name="form" action="test.php" method="post"><!--一下页面的三个编辑器如下--><div><script type="text/plain" id="learnTarget" name="learnTarget"></script> </div><div><script type="text/plain" id="learnTarget" name="learnImportant"></scrip t></div><div><script type="text/plain" id="learnTarget" name="learnWay"></script></div></form>*注意引入文件的路径根据实际情况而定2.在php文档包含的js文件中:a.初始化文本编辑器<script>editor1 = new baidu.editor.ui.Editor({ initialContent:'<内容>',initialFrameWidt h:500,initialFrameHeight:300});//定义一个编辑器对象?editor1.render('learnTarget');//实例化编辑器对象,其中learnTarget是编辑器的ideditor2 = new baidu.editor.ui.Editor({ initialContent:'<内容>',initialFrameWidt h:500,initialFrameHeight:300});editor2.render('learnImportant');editor3 = new baidu.editor.ui.Editor({ initialContent:'<内容>',initialFrameWidt h:500,initialFrameHeight:300});editor3.render('learnWay');</script>1)initialContent:表示文本域所给的默认值;1)initialFrameWidth:表示给编辑器设计的宽度;3)initialFrameHeight:表示给编辑器设计的高度;b.用js获取及设置文本域的内容:<script>//获取文本域内容var learnTarget = myTrim(editor1.getContent());var learnImportant = myTrim(editor2.getContent());var learnWay = myTrim(editor3.getContent());//更新文本域内容editor1.setContent('新内容');editor2.setContent('新内容');editor3.setContent('新内容');</script>c.用js提交文本域内容<script>returnEditor = UE.getEditor('learnTarget');//获取编辑器returnEditor.sync();//使编辑器与文本域中的文本保持同步returnEditor = UE.getEditor('learnImportant');returnEditor.sync();returnEditor = UE.getEditor('learnWay');returnEditor.sync();document.form.submit();</script>/***********************************************/。

将百度编辑器(Ueditor)整合到dedecms中的方法

将百度编辑器(Ueditor)整合到dedecms中的方法

这篇文章主要为大家介绍了将百度编辑器(Ueditor)整合到dedecms中的方法,通过对应配置文件的修改实现采用百度编辑器替换dedecms原有编辑器的方法,具有一定参考借鉴价值,需要的朋友可以参考下本文实例讲述了将百度编辑器(Ueditor)整合到dedecms中的方法,分享给大家供大家参考。

具体分析如下:现在百度编辑器感觉比dedecms自带的编辑器要强多了,这里就来给大家介绍替换dedecms自带编辑器的方法.Ueditor整合dedecms步骤1. ueditor的下载安装到ueditor官网下载最新版的编辑器源码,到dedecms的include目录新建文件夹ueditor,该文件夹就是ueditor路径,下面修改编辑器配置文件时需要该路径.2. 修改dedecms编辑器配置文件修改网站根目录下的include/inc/inc_fun_funAdmin.php文件,找到如下代码:代码如下:if($GLOBALS['cfg_html_editor']=='fck')替换为代码如下:代码如下:if($GLOBALS['cfg_html_editor']=='ueditor')&nbsp;{&nbsp;$fvalue = $fvalue=='' ? '&lt;p&gt;&lt;/p&gt;' : $fvalue;&nbsp;$code = '&lt;script type="text/javascript" charset="utf-8" src="'.$GLOBALS['cfg_cmspath'].'/include/ueditor/editor_config.js"&gt;&lt;/script&gt;&nbsp;&lt;script type="text/javascript" charset="utf-8" src="'.$GLOBALS['cfg_cmspath'].'/include/ueditor/editor_all.js"&gt;&lt;/script&gt;&nbsp;&lt;link rel="stylesheet" type="text/css" href="'.$GLOBALS['cfg_cmspath'].'/include/ueditor/themes/default/css/ueditor.css"/&gt;&nbsp;&lt;textarea name="'.$fname.'" id="'.$fname.'" style="width:100%;"&gt;'.$fvalue.'&lt;/textarea&gt;&nbsp;&lt;script type="text/javascript"&gt;var ue = new baidu.editor.ui.Editor();ue.render("'.$fname.'");&lt;/script&gt;';&nbsp;if($gtype=="print")&nbsp;{&nbsp;echo $code;&nbsp;}&nbsp;else&nbsp;{&nbsp;return $code;&nbsp;}&nbsp;}else if($GLOBALS['cfg_html_editor']=='fck')补充:1、我使用的是dedecms 5.7; &nbsp; &nbsp; &nbsp; &nbsp;2、我这里引入的是editor_all.js而不是editor_all_min.js,min是压缩过后的js文件不方便修改。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、富文本内容交互1、编辑器内容初始化(即往编辑器中设置富文本)场景一:写新文章,编辑器中预置提示、问候等内容。

在editor_config.js文件中找到initialContent参数,设置其值为需要的提示或者问候语即可,如initialContent:’欢迎使用UEditor!’。

场景二:编辑旧文章,从数据库中取出富文本放置到编辑器中。

显然,编辑文章时需要从后台数据库中取出大段富文本,如果仍然采用场景一中的方式去设置初始值的话,必然会带来诸如引号匹配被截断等问题,因此需要采用另外一种方式去设置,此处采用了script标签作为编辑器容器对象,并设置了其类型是纯文本,从而在避免了标签内部JS代码执行的同时解决了部分同学在使用传统的textarea标签作为容器所带来的一次额外转码问题。

2、提交编辑器内容至后端场景一:在编辑器所在的Form中存在提交按钮,提交动作由点击此按钮完成。

该场景适用于最普通的场合,没有太大问题需要注意,仅三点说明:1) 默认情况下提交到后台的表单名称是“editorValue”,在editor_config.js中可以配置,参数名为textarea。

2) 可以在容器标签(即script标签)上设置name属性,以覆盖editor_config.js中的场景二:编辑器所在的Form中不存在提交按钮,提交动作由外部事件触发。

该场景适用于站点前端交互较多的场合,需要注意的事项主要是在触发form提交动作之前如果使用的是jquery validation可以参考如下代码此处editor是编辑器实例对象。

场景三:编辑器不在任何Form中,提交动作由外部事件触发。

该场景使用不多,但特殊时候可能需要。

UEditor也提供了对应的处理方案,基本逻辑跟场景二一样,只是在执行同步操作的时候需要传入提交form的id,如editor.sync(myFormID)即可。

其他同场景二。

二、图片上传交互1、传统图片上传传统图片上传涉及到的前后端交互主要涉及“上传提交路径”以及“图片保存路径”两个参数,后台保存路径以任何形式(绝对或者相对)、在任何页面展示跟前台无关。

2、Flash图片上传Flahs图片上传和传统图片上传存在一个很大的区别:它需要服务器端实时返回“图片保存路径”用于在前台的即时展示。

具体到编辑器,就是需要将返回的路径插入到编辑器中。

由此会引出除传统图片上传中提到的两个参数之外的第三个参数:“前后端修正路径”。

如果后台返回的保存路径是绝对路径(指以http开头的路径,以根目录开始的路径也可勉强归入其中),那么前台无须做任何修正,否则用户必须十分清楚自己当前的目录结构并据此修正这个前后端相对路径之间的差异。

因此,UEditor极力推荐由服务器端返回以根目录开始的相对路径。

3、UEditor中的上传实践及注意事项在 UEditor中,“上传提交路径”和“前后端修正路径”的配置位于editor_config.js中。

其中,imageUrl参数对应着“上传提交路径”,imagePath参数对应着“前后端修正路径”。

而“图片保存路径”则需要在server/upload/php目录下的imageUp文件中配置。

路径配置完成之后,还需要配置imageFieldName参数作为文件表单的表单名,后台可以据完成上述配置之后,理论上后台应该可以接收到前台上传的图片文件了。

在正确保存之后,传统图片上传至此就结束了。

但是,在使用Flash上传的编辑器中,流程还远未结束。

首先,后台需要计算得出图片文件存放的地址字符串。

该字符串UEditor极力推荐使用从网站根目录开始算起,一直到图片名结束为止。

如果不从网站根目录开始算起,后面需要考虑“前后端修正地址”参数。

其中,url对应计算出的图片保存地址——再强调一遍,尽量构造出从网站根目录开始的地址字符串;title对应flash中的描述字段,在图片上将会被设置到title属性中;state 对应服务器端返回的图片上传状态字符:除了上传成功返回“SUCCESS”之外,其他任何值都将被直接显示在返回的图片描述字段内。

最后,UEditor会在返回的url地址前面增加“前后端修整路径”这个参数值作为最后插入编辑器中的图片地址。

因此,如果服务器端返回的是从根目录开始的图片路径或者http开头的绝对路径,“前后端修正路径”必须留空。

举例来讲,如果服务器返回的路径是“/myProject/uploads/sun.jpg”,那么插入到编辑器中的路径会是“前后端修正路径+ /myProject/uploads/sun.jpg”。

三、Word图片转存交互1、图片转存原理所谓word图片转存,是指UEditor为了解决用户从word中复制了一篇图文混排的文章粘贴到编辑器之后,word文章中的图片数据无法显示在编辑器中,也无法提交到服务器上的问题而开发的一个操作简便的图片转存方案。

该功能的基本操作步骤:复制word文档——》粘贴到编辑器——》编辑器会将所有图片转换成一个占位图,同时在工具栏中高亮转存按钮——》点击转存按钮弹出图片上传框——》点击复制按钮复制图片目录地址——》点击“添加照片”按钮,在弹出的选择框中粘贴刚复制的图片目录地址——》点击打开按钮,选择目录下的所有图片文件,在此点击打开——》执行图片上传——》上传成功确认插入,UEditor将自动完成对应占位图的替换过程。

2、配置要点及注意事项word图片转存跟普通图片上传的配置基本一样,所不同的仅仅是操作上的差异:前者需要首先获取临时图片文件存在的目录,后者直接选择自己指定的文件目录。

PS:在部分操作系统的部分版本word中发现单张word图片会生成两张临时图片,且格式不一,清晰度各异,目前暂时未发现改进方法。

四、远程图片抓取交互1、远程抓取原理图片远程抓取是指在插入本地域名之外的图片链接地址时,由服务器将这些外部图片抓取到本地服务器保存的一个功能。

实现原理为在编辑器中向服务器发送包含所有外域图片地址的ajax请求,然后由服务器在后端抓取保存后返回图片地址给编辑器,再由编辑器完成外域地址和本地地址的替换工作。

2、注意事项远程抓取功能是否开启可在edicot_config.js中通过配置catchRemoteImageEnable参数实现。

与这个功能相关的配置还包括了远程抓取的处理程序地址,表单域名称,本地域和“前后端修正地址”。

远程抓取处理程序实现了依据前端提交的地址列表(使用ue_separate_ue 标示符进行分隔的字符串)进行图片抓取,然后返回地址列表给客户端的功能。

五、图片在线管理交互1、图片在线管理介绍图片在线管理是指通过读取服务器端的文件目录并将其展示到编辑器中的进行额外一些操作的功能。

处于安全考虑,目前UEditor仅实现了图片二次插入操作,其他诸如删2、注意事项图片在线管理需要配置的参数跟远程图片抓取一致,两者不同的地方是图片在线管理中的图片数据是由服务器端指定某个目录,然后遍历其下的所有图片文件得到,然后将地址返回给编辑器,而远程图片抓取则是由编辑器提交图片地址,经过服务器端的抓取处理后返回新的地址给编辑器。

两者的初始触发都需要ajax的介入。

六、屏幕截图交互1、屏幕截图介绍使用了ActiveX控件,目前只支持IE浏览器。

2、注意事项需要配置的参数除了跟图片上传一样的内容之外,还多出了服务器地址和端口的配七、附件上传交互1、附件上传注意事项附件上传的基本配置跟图片类似。

另外,由于附件上传采用了相当成熟的swfupload开源框架,因此大部分的文档和资料尽可参考swfupload的官网教程。

官网地址:http://一、官网上下载完整源码包,解压到任意目录,解压后的源码目录结构如下所示:_examples:编辑器完整版的示例页面dialogs:弹出对话框对应的资源和JS文件themes:样式图片和样式文件php/jsp/.net:涉及到服务器端操作的后台文件,根据你选择的不同后台版本,这里也会不同,这里应该是jsp,php,.netthird-party:第三方插件(包括代码高亮,源码编辑等组件)editor_all.js:_src目录下所有文件的打包文件editor_all_min.js:editor_all.js文件的压缩版,建议在正式部署时才采用editor_config.js:编辑器的配置文件,建议和编辑器实例化页面置于同一目录二、部署UEditor到实际项目(UETest)中的步骤:图表 1第一步:在项目的任一文件夹中建立一个用于存放UEditor相关资源和文件的目录,此处在项目根目录下建立,起名为ueditor。

第二步:拷贝源码包中的dialogs、themes、third-party、editor_all.js和editor_config.js到ueditor文夹中。

其中,除了ueditor目录之外的其余文件均为具体项目文件,此处所列仅供示例。

第三步:为简单起见,此处将以根目录下的index.php页面作为编辑器的实例化页面,用来展示UEditor的完整版效果。

在index.php文件中,首先导入编辑器需要的三个入口文最后一步:在/UETest/ueditor/ editor_config.js中查找URL变量配置编辑器在你项目至此,一个完整的编辑器实例就已经部署到咱们的项目中了!在浏览器中输入http://localhost/UETest运行下试试UE强大的功能吧!三、注意事项1.在引用editor_config.js时,最好先于editor_all.js加载,否则特定情况下可能会出现报错。

2.若希望给编辑器赋初值,请参考“前后端数据交互”3. 需要注意的是编辑器资源文件根路径。

它所表示的含义是:以编辑器实例化页面为当前路径,指向编辑器资源文件(即dialog等文件夹)的路径。

鉴于很多同学在使用编辑器的时候出现的种种路径问题,此处强烈建议大家使用"相对于网站根目录的相对路径"进行配置。

"相对于网站根目录的相对路径"也就是以斜杠开头的形如"/UETest/ueditor/"这样的路径。

此外如果你使用的是相对路径,例如"ueditor/"(相对于图表1路径结构),如果站点中有多个不在同一层级的页面需要实例化编辑器,且引用了同一UEditor的时候,可能不适用于每个页面的编辑器。

因此,UEditor提供了针对不同页面的编辑器可单独配置的根路径,具体来说,在需要实例化编辑器的页面最顶部写上如下代码即可。

当然,需要令此处的URL等于对应的配置。

window.UEDITOR_HOME_URL ="/xxxx/xxxx/";例如:根据图表1的目录结构如果你在index.php里使用编辑器,那么在editor_config.js里最上边的var URL就改成 var URL = "/UETest/ueditor/"。

相关文档
最新文档