我的编程空间,编程开发者的网络收藏夹
学习永远不晚

node使用UEditor富文本编辑器的方法实例

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

node使用UEditor富文本编辑器的方法实例

大部分编辑器的后台是基于java、php、asp等,很少有基于node.js的。今天就做一个基于node的

最近在做一个微信素材编辑器的小项目,使用到了UEditor编辑器,使用中出现了许多问题。

1.介绍

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

2.下载

下载地址 :http://www.lsjlt.com/codes/45434.html

选择开发版 ,因为我们使用node ,所以随便下一个版本,这里下载1.4.3.3 jsp 版本

下载完成解压。

3.创建项目

使用express生成器生成一个项目,并安装好依赖模块


$express ue-test -ejs 
$cd ue-test && npm install 

把刚刚压缩好的文件重命名为ueditor 放入ue-test/pubilc 中

修改index.ejs页面:


<!DOCTYPE html> 
<html> 
 <head> 
  <title><%= title %></title>  
  <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> 
  <script type="text/javascript" charset="utf-8" class="lazy" data-src="../ueditor/ueditor.config.js"></script> 
  <script type="text/javascript" charset="utf-8" class="lazy" data-src="../ueditor/ueditor.all.min.js"> </script> 
  <!--建议手动加在语言,避免在ie下有时因为加载语言失败导致编辑器加载失败--> 
  <!--这里加载的语言文件会覆盖你在配置项目里添加的语言类型,比如你在配置项目里配置的是英文,这里加载的中文,那最后就是中文--> 
  <script type="text/javascript" charset="utf-8" class="lazy" data-src="../ueditor/lang/zh-cn/zh-cn.js"></script> 
 </head> 
 <body> 
   <script id="editor" type="text/plain" style="width:1024px;height:500px;"></script> 
 </body> 
 
 
<script type="text/javascript"> 
 
  //实例化编辑器 
  //建议使用工厂方法getEditor创建和引用编辑器实例,如果在某个闭包下引用该编辑器,直接调用UE.getEditor('editor')就能拿到相关的实例 
  var ue = UE.getEditor('editor'); 
 
</script> 
</html> 

然后启动项目,编辑器初始化成功!(注意引入文件路径的问题,如果初始化失败可以f12查看报错进行调试)

我们这里为什么要这样引入路径 可以看这里 (API)

查看图片

4.后端配置

仅仅这样是不能进行上传的

我们需要要配置后端文件。

修改 ueditor.config.js 文件


//找到这一行代码 修改成这样,这里的url为请求的路径 
// 服务器统一请求接口路径 
    ,serverUrl: URL + "ue" 

接下来我们安装ueditor 模块


$npm install ueditor --save 

ueditor模块有一个示例,照着修改就好了

修改app.js:


//加载ueditor 模块 
var ueditor = require("ueditor"); 
 
//使用模块 
app.use("/ueditor/ue", ueditor(path.join(__dirname, 'public'), function (req, res, next) { 
  // ueditor 客户发起上传图片请求 
  if (req.query.action === 'uploadimage') { 
    var foo = req.ueditor; 
 
    var imgname = req.ueditor.filename; 
 
    var img_url = '/images/ueditor/'; 
    res.ue_up(img_url); //你只要输入要保存的地址 。保存操作交给ueditor来做 
    res.setHeader('Content-Type', 'text/html');//IE8下载需要设置返回头尾text/html 不然json返回文件会被直接下载打开 
  } 
  // 客户端发起图片列表请求 
  else if (req.query.action === 'listimage') { 
    var dir_url = '/images/ueditor/'; 
    res.ue_list(dir_url); // 客户端会列出 dir_url 目录下的所有图片 
  } 
  // 客户端发起其它请求 
  else { 
    // console.log('config.json') 
    res.setHeader('Content-Type', 'application/json'); 
    res.redirect('/ueditor/jsp/config.json'); 
  } 
})); 

修改完成重启一下服务就好了,

查看图片

查看图片

查看图片

5.其他配置

自动保存


//启用自动保存 
,enableAutoSave: true 
//自动保存间隔时间, 单位ms 
,saveInterval: 500 

发现这样启用自动保存没有成功,不知道为什么。

另一个方法是在实例编辑器之后调用


//实例化编辑器 
//建议使用工厂方法getEditor创建和引用编辑器实例,如果在某个闭包下引用该编辑器,直接调用UE.getEditor('editor')就能拿到相关的实例 
var ue = UE.getEditor('editor'); 
 
//注意一定要延时。要等这玩意载入成功。 
setTimeout(function () { 
  ue.execCommand('drafts'); 
}, 500); 

自动保存成功!!

取消自动保存

启用自动保存的时候会发现一直提示,是不是很烦,反正我是不能忍,怎么办呢?

查看图片

设置一下自动保存间隔时间,把它设长一点就好了。


//启用自动保存 
 ,enableAutoSave: true 
 //自动保存间隔时间, 单位ms 
 ,saveInterval: 500 * 60 *60 

这样烦人的自动保存提示就不会出来了。

只取消提示

上面我取消自动保存之后会发现使用起来不舒服,每次刷新页面,上次编辑的就没有了。

我们能不能只取消提示,而保留自动保存功能呢。

我在网上找了下,并没有发现。

那我们就自己写一个简单的保存吧。

我们可以使用html5的 localStorage 本地存储功能,当我们离开当前页面时候,把编辑器内容存储到本地,进入页面时候提取数据。上代码:


 //实例化编辑器 
var ue = UE.getEditor('editor'); 
$(function() { 
  //初始化数据,读localstroage  
 var allData = {}; 
 if (localStorage.getItem('ueditor_content')!=null && localStorage.getItem('ueditor_content')!="") { 
    allData =  JSON.parse(localStorage.getItem('ueditor_content'));  
  }  
 
 //延时加载数据 要等编辑器加载成功,反正我不延时的时候没有成功。 
 setTimeout(function () { 
    ue.setContent (allData) 
 }, 500);  
 
 //离开页面或者刷新页面触发方法 
  window.onbeforeunload = function() { 
    localStorage.setItem("ueditor_content", JSON.stringify(ue.getContent())); 
  }  
 
}) 

6.添加音乐

添加音乐好坑啊,

查看图片

这是什么鬼,我要的是这样的效果好么。

查看图片

要不然你就这样也好

查看图片

有会的老司机请指导指导!

7.解决图片过大超出编辑器

有时候图片宽度超出了编辑器的宽度,我们会想让他等比缩放

在配置里面找了下,没找到这个配置。不过编辑器提供了一个iframe.css让我们写自己的配置

查看图片

我们可以在里面设置:


img { 
 max-width: 100%;  
}  
  

这样图片再怎么拉伸宽度都超不过边界。别看很简单,但是花了不少时间研究。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

node使用UEditor富文本编辑器的方法实例

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

node使用UEditor富文本编辑器的方法实例

大部分编辑器的后台是基于java、php、asp等,很少有基于node.js的。今天就做一个基于node的 最近在做一个微信素材编辑器的小项目,使用到了UEditor编辑器,使用中出现了许多问题。 1.介绍 UEditor是由百度web前端
2022-06-04

nodejs后台集成ueditor富文本编辑器的实例

UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码..1 下载ueditor nodejs版本 2 复制public目录下面的文件到项目静
2022-06-04

django轻松使用富文本编辑器CKEditor的方法

前言 django是一个容易快速上手的web框架,用它来创建内容驱动型的网站(比如独立博客)十分方便。遗憾的是,django并没有提供官方的富文本编辑器,而后者恰好是内容型网站后台管理中不可或缺的控件。ckeditor是一款基于javasc
2022-06-04

element ui富文本编辑器的使用效果与步骤(quill-editor)

富文本编辑器在任何项目中都会用到,在Element中我们推荐vue-quill-editor组件,下面这篇文章主要给大家介绍了关于element ui富文本编辑器的使用效果与步骤(quill-editor)的相关资料,需要的朋友可以参考下
2022-11-13

用JAVA写文本编辑器的方法是什么

本篇内容介绍了“用JAVA写文本编辑器的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!下面我们要实现的是一个点击选择文本格式的窗口
2023-06-25

Linux中使用文本编辑器vi命令的示例分析

小编给大家分享一下Linux中使用文本编辑器vi命令的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!vi/vim是什么?Linux世界几乎所有的配置文件都
2023-06-09

Ubuntu文本编辑器vi使用方向键出错的解决方法是怎样的

今天就跟大家聊聊有关Ubuntu文本编辑器vi使用方向键出错的解决方法是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。  vi是一款全屏幕文本编辑器,是Linux中最基本的文本
2023-06-13

使用shell脚本判断文件后缀的方法实例

目录shell脚本判断文件后缀附shell提取文件后缀名,并判断其是否为特定字符串总结 shell脚本判断文件后缀 有时候需要判断文件名后缀来区分文件类型,进而进行不同的操作。以下是获取文件名后缀和
2022-06-04

Android编程实现使用webView打开本地html文件的方法

本文实例讲述了Android编程实现使用webView打开本地html文件的方法。分享给大家供大家参考,具体如下: 在布局的配置文件里:
2022-06-06

编程热搜

目录