Ueditor 专题
https://github.com/xwjie/SpringBootUeditor
提交表单
提交表单设置
按照部署编辑器的教程,完成编辑器加载
把容器放到form表单里面,设置好要提交的路径,如下面代码中的<form>标签
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title>ueditor demo</title>
</head>
<body>
<form action="server.php" method="post">
<!-- 加载编辑器的容器 -->
<script id="container" name="content" type="text/plain">
这里写你的初始化内容
</script>
</form>
<!-- 配置文件 -->
<script type="text/javascript" src="ueditor.config.js"></script>
<!-- 编辑器源码文件 -->
<script type="text/javascript" src="ueditor.all.js"></script>
<!-- 实例化编辑器 -->
<script type="text/javascript">
var editor = UE.getEditor('container');
</script>
</body>
</html>
上一篇: 1.4 目录介绍
UEditor
1.1 下载编辑器
git clone 仓库
npm install 安装依赖(如果没有安装 grunt , 请先在全局安装 grunt)
在终端执行 grunt default
$ npm install
npm WARN deprecated minimatch@0.2.14: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated graceful-fs@1.2.3: graceful-fs v3.0.0 and before will fail o n node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible . Use 'npm ls graceful-fs' to find it in the tree.
npm ERR! Windows_NT 10.0.15063
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\ node_modules\\npm\\bin\\npm-cli.js" "install"
npm ERR! node v7.2.1
npm ERR! npm v3.10.10
npm ERR! shasum check failed for C:\Users\TANGCH~1\AppData\Local\Temp\npm-32152- e4fed653\registry.npmjs.org\underscore.string\-\underscore.string-2.3.3.tgz
npm ERR! Expected: 71c08bf6b428b1133f37e78fa3a21c82f7329b0d
npm ERR! Actual: 8d82a2fa42b2b76e72f8bb55b36212e17d8d5eda
npm ERR! From: https://registry.npmjs.org/underscore.string/-/underscore.str ing-2.3.3.tgz
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Please include the following file with any support request:
npm ERR! C:\github\editor\ueditor\npm-debug.log
MINGW64 /c/github/editor/ueditor (dev-1.5.0)
$ npm update minimatch@3.0.2
$ npm update -d
查看minimatch版本
$ npm -v minimatch
5.5.
如果升级后依旧报错。就需要重装minimatch:
npm update minimatch
npm install -g npm@3
http://www.jb51.net/article/100594.htm
使用grunt打包源代码
随着 nodejs 和 grunt 的火爆,UEditor 采用了 grunt 来作为线下的合并打包工具,支持编码和后台语言指定。
支持版本
支持 UEditor 1.3.0+ 的版本
使用方法
线上下载ueditor
下载地址:ueditor,要下载"完整版 + 源码"
安装nodejs
下载 nodejs 并安装到本地
安装成功后,打开控制台,在控制台下输入
node -v
如果控制台输出nodejs的版本。那恭喜你,nodejs安装好了,可以使用ctrl+c退出node模式.
安装打包需要的grunt插件
以终端方式(windows用户用cmd)进入ueditor源码根目录,执行
npm install
这个命令会根据package.json文件,安装打包需要的grunt和grunt插件
安装结束后,会在ueditor目录下出现一个node_modules文件夹
执行打包命令
以终端方式(windows用户用cmd)进入ueditor源码根目录,执行
grunt
这个命令会根据Gruntfile.js执行打包打包的任务,运行过程 需要java环境 支持
命令完成后,ueditor目录下会出现dist/目录,里面有你要的打包好的ueditor文件夹,默认是utf8-php文件夹
打包其他版本
执行打包grunt命令时,可以传入编码和后台语言的参数
支持两种编码指定:--encode参数
utf8 (默认编码)
gbk
提供四种后台语言支持:--server参数
php (默认语言)
jsp
net (代表.net后台)
asp
例如:想要打包成编码是gbk,后台语言是asp版本,可执行命令:
grunt --encode=gbk --server=asp
http://fex.baidu.com/ueditor/#dev-bale_width_grunt
正确的初始化方式
UEditor为开发者提供了ready接口,他会在编辑器所有的初始化操作都结束时调用。保证你要做的操作能在一个完整的初始化环境中执行。
UE.getEditor('editor').ready(function() {
//this是当前创建的编辑器实例
this.setContent('内容')
}) UEditor的老用户会说,不是还有个addListener可以注册ready事件吗?
UE.getEditor('editor').addListener('ready', function() {
//this是当前创建的编辑器实例
this.setContent('内容')
}) 确实这样写也能达到效果,但这样创建有个小问题。如果的这段代码是用在第一次创建时就没有问题。但如果编辑器已经创建,你需要再次赋值,想使用同一段代码,这时,这里的事件ready是不会触发的。但你调用接口ready注入你的操作,这种方式,会判断如果你的编辑器已经初始化完成了,那ready将会自动加载注入的内容,如果还没有初始化结束,它会自己注册ready事件,当完成初始化后再掉起自己。所以建议开发者使用ready接口作为初始化时注入操作。
http://fex.baidu.com/ueditor/#qa-ready
如何自定义请求地址
本文档说明修改请求地址的方法。
应用场景
ueditor 1.4.2+ 推荐使用唯一的请求地址,通过GET参数action指定不同请求类型。 但很多用户都希望使用自己写好的上传地址,下面提供一种解决方法: 由于所有ueditor请求都通过editor对象的getActionUrl方法获取请求地址,可以直接通过复写这个方法实现,例子如下:
UE.Editor.prototype._bkGetActionUrl = UE.Editor.prototype.getActionUrl;
UE.Editor.prototype.getActionUrl = function(action) {
if (action == 'uploadimage' || action == 'uploadscrawl' || action == 'uploadimage') {
return 'http://a.b.com/upload.php';
} else if (action == 'uploadvideo') {
return 'http://a.b.com/video.php';
} else {
return this._bkGetActionUrl.call(this, action);
}
}
action类型以及说明
uploadimage://执行上传图片或截图的action名称
uploadscrawl://执行上传涂鸦的action名称
uploadvideo://执行上传视频的action名称
uploadfile://controller里,执行上传视频的action名称
catchimage://执行抓取远程图片的action名称
listimage://执行列出图片的action名称
listfile://执行列出文件的action名称
http://fex.baidu.com/ueditor/#qa-customurl
如何阻止div标签自动转换为p标签
背景
刚开始使用UEditor的开发者,会发现一个现象,粘贴到编辑器中的内容如果带有div标签,待粘贴到编辑器之后,会发现粘贴到编辑器中的div已经被转换为p标签了。首先这不是一个bug,这是UEditor对于进入编辑器中的数据进行的过滤处理。在UEditor中表示段落的标签是p标签,很多的编辑操作都是基于p标签进行的处理。当然我们对div标签也做了兼容性的处理,如果你想保留div标签不让UEditor进行转换也是可以的。
阻止转换
UE.getEditor('editorID', {
allowDivTransToP: false
})
http://fex.baidu.com/ueditor/#qa-allowDivToP
文档说明
支持版本:支持 UEditor 1.4.2+ 的版本
当前文档的例子是按照 php 后台介绍,其中的配置项以 图片上传 为例介绍,其他上传配置方法类似。
1 部署说明
UEditor 在静态服务器下,也可以正常加载到容器上,但是上传图片等后台相关的功能是不可以使用的,需要有后台语言支持才能正常使用。
1.1 选择后台语言
UEditor 提供了四种后台语言 php,asp,asp.net,jsp,你可以选择你熟悉的语言部署到你的服务器,本文后面以php为例子介绍。
当前文档介绍的是通用的后台配置方法,具体的配置,还需要移步各后台的使用说明:
php:PHP 使用说明
asp:ASP 使用说明
asp.net:AST.NET 使用说明
jsp:JSP 使用说明
1.2 配置 serverUrl 参数
UEditor 1.4.2+ 起,推荐使用统一的请求路径,在你部署好前端代码后,你需要修改 ueditor.config.js 里的 serverUrl 参数,改成 URL + 'php/controller.php'
上面的值php的配置值,其他语言请看对应的后台的使用说明。
1.3 检查是否正常加载后台配置项
UEditor 1.4.2+ 起,把前后端相关的配置项都放到后端文件 php/config.json 设置(配置介绍),在初始化时会向 serverUrl 发起获取后端配置的请求。
你可以测试你的网站下的路径 ueditor/php/controller.php?action=config 是否正常返回了json格式的后端配置内容,格式大致如下。如果这个请求出错,出现400、500等错误,编辑器上传相关的功能将不能正常使用。
{
"imageUrl": "http://localhost/ueditor/php/controller.php?action=uploadimage",
"imagePath": "/ueditor/php/",
"imageFieldName": "upfile",
"imageMaxSize": 2048,
"imageAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"]
"其他配置项...": "其他配置值..."
}
http://fex.baidu.com/ueditor/#server-deploy
Ueditor 专题的更多相关文章
- 在ASP.NET Core中使用百度在线编辑器UEditor
在ASP.NET Core中使用百度在线编辑器UEditor 0x00 起因 最近需要一个在线编辑器,之前听人说过百度的UEditor不错,去官网下了一个.不过服务端只有ASP.NET版的,如果是为了 ...
- 2016年中国微信小程序专题研究报告
2016年12月29日,全球领先的移动互联网第三方数据挖掘和分析机构iiMedia Research(艾媒咨询)权威首发<2016年中国微信小程序专题研究报告>. 报告显示,82.6%手机 ...
- [.NET领域驱动设计实战系列]专题二:结合领域驱动设计的面向服务架构来搭建网上书店
一.前言 在前面专题一中,我已经介绍了我写这系列文章的初衷了.由于dax.net中的DDD框架和Byteart Retail案例并没有对其形成过程做一步步分析,而是把整个DDD的实现案例展现给我们,这 ...
- 对百度的UEditor多图片上传的一些补充
我已经写了一篇文章关于百度的UEditor提取多图片上传模块.如果还没有看过,请点击以下链接查看 http://www.cnblogs.com/luke1006/p/3719029.html 出差了两 ...
- 关于百度编辑器UEditor的一点说明
大家在使用的时候要特别注意editor_config.js中的“URL”这个参数 我的理解:1.这个参数是editor整个结构的总路径 2.首先要把这个路径配置好了.才能正常的显示, ...
- UEditor编辑器使用示例
1. UEditor下载 UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码. 下载链接:http ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(57)-插件---ueditor使用
系列目录 目录: 前言 开发环境 知识点 初始使用 自定义工具栏 设置和读取编辑器内容 文件上传 ueditor加水印 ---------------------------------------- ...
- UEditor百度富文本编辑器--让编辑器自适应宽度的解决方案
UEditor百度富文本编辑器的initialFrameWidth属性,默认值是1000. 不能够自适应屏幕宽度.如图1: 刚开始的时候,我是直接设置initialFrameWidth=null的.效 ...
- UEditor百度富文本编辑器--preview在线预览时头部被挡住的解决方案
问题截图: 正常情况应该是如下显示: 解决方案: 1.打开ueditor/dialogs/preview/preview.html 2.找到body节点下面这一句 document.getElemen ...
随机推荐
- 一个操作cvs格式的c++类
经常需要使用excel,或者把有的数据用excel打开,程序可以生成cvs格式的文件,这样就可以excel打开并处理了,于是找了一个处理cvs的c++类跟大家分享 代码出处找不到了: 代码如下: St ...
- Linux进程管理(第二版) --进程管理命令
进程管理命令 一.查看用户信息.5.15 分钟内的系统的,优先值越小,优先权越大 ] 1.nice 指定程序运行的优先级 格式 nice -n command 例如 nice -5 myprogrem ...
- 网站开发进阶(十七)Html元素隐藏的几种方式
Html元素隐藏的几种方式 隐藏Html元素的方法最常用的方法有css的display:none,一种方法两种实现方式,感兴趣的朋友可以了解下. 1.使用css style="display ...
- Leetcode_217_Contains Duplicate
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/46271159 Given an array of inte ...
- ubuntu下搭建gtk+编程环境
首先gtk+项目主页为: http://www.gtk.org/ gtk+现在有2和3两种版本,使用 sudo apt-get install gnome-core-devel 可以一次性安装2个版本 ...
- Android 获取View的高度或TextView的行数, 实现自适应的textview
大家都遇到过项目中需要获控件的的高度或者列如文章开头说TextView的行数 但是很多人在实际操作中getLineCount()获取到值是零,其实只是我们没在正确的位置获取. 这是因为activtiy ...
- 面试之路(7)-BAT面试题之计算机的三大原则
1.计算机是执行输入.运算.输出的机器 计 算 机 的 硬 件 由 大 量 的 IC(Integrated Circuit,集成电路)组成.每块 IC 上都带有许多引脚.这些引脚有的用于输入,有的用于 ...
- Sencha touch 2 入门 -------- DataView 显示服务器端JSON文件数据
今天学习了下DataView如何显示JSON文件数据,废话不多说,直接贴代码: 首先看下文件目录: 然后看下我们要处理的JSON文件,bookInfo.json. { "success&qu ...
- ubunut在系统恢复模式下无法修改root密码的分析和解决
前些日子本猫的ubuntu 14.10貌似出了点问题,想修改下root密码,但是无奈原系统有错正常情况下无法修改啊,这是逼我重装的节奏吗? 在ubuntu开机后立即按住left_shift不放,调出g ...
- Apache Kafka简介与安装(一)
介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计. 首先让我们看几个基本的消息系统术语: Kafka将消息以topic为单位进行归纳. 将向 ...