广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >JS中富文本编辑器TinyMCE的示例分析
  • 483
分享到

JS中富文本编辑器TinyMCE的示例分析

2024-04-02 19:04:59 483人浏览 薄情痞子
摘要

小编给大家分享一下js中富文本编辑器TinyMCE的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、题外话最近负责了一

小编给大家分享一下js中富文本编辑器TinyMCE的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

一、题外话

最近负责了一个cms网站的运维,里面存在很多和编辑器有关的问题,比如编辑一些新闻博客,论文模块。系统采用的是FCKEditor,自我感觉不是很好,如下图

特别是在用户想插入一个图片的话,就很麻烦,所有用户共享一个文件目录,这样就不好了,于是便想到了TinyMCE编辑器,博客园默认的也是这个编辑器,接下

来,我们开始吧

JS中富文本编辑器TinyMCE的示例分析

二、TinyMCE编辑器集成步骤

2.1:下载相关文件

(1)下载TinyMCE插件

下载地址,如下图所示,下载开发

JS中富文本编辑器TinyMCE的示例分析

(2)下载其他功能包

包括中文语言包zh_CN.js,图片上传操作需要的plugin.min.js和Jquery.fORM.js

这一点很重要,很重要,很重要哦

下载完成后如下图所示

JS中富文本编辑器TinyMCE的示例分析

2.2:操作步骤

(1):复制TinyMCE到项目

解压下载到的tinymce_4.6.4_dev.zip,解压后会有一个tinymce文件夹,将整个文件夹放到WEBContent目录下,目录结构如下图所示

JS中富文本编辑器TinyMCE的示例分析

(2):页面集成TinyMCE

在页面的JS标签中初始化TinyMCE编辑器,代码如下所示

<script type="text/javascript">
tinymce.init({
  selector: "textarea",
  upload_image_url: './upload', //配置的上传图片的路由
  height: 400,
  language:'zh_CN',
  plugins: [
  'advlist autolink lists link charmap print preview hr anchor pagebreak',
  'searchreplace Wordcount visualblocks visualchars code fullscreen',
  'insertdatetime media nonbreaking save table contextmenu directionality',
  'emoticons template paste textcolor colorpicker textpattern imagetools codesample toc help'
  ],
  toolbar1: 'undo redo | insert | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',
  toolbar2: 'print preview media | forecolor backcolor emoticons | codesample help',
  image_advtab: true,
  templates: [
  { title: 'Test template 1', content: 'Test 1' },
  { title: 'Test template 2', content: 'Test 2' }
  ],
  menubar: false
 });
</script>

运行如下图所示,基本的集成已经完毕

JS中富文本编辑器TinyMCE的示例分析

三、TinyMCE编辑器本地上传图片功能

注:默认的TinyMCE是没有上传本地图片到服务器的功能的,所以这里我们需要自己实现,下面我们就说一说具体的实现步骤

3.1:集成uploadimage插件

在./tinymce/js/tinymce/plugins目录下新建一个uploadimage目录,放入下载的plugin.min.js,目录结构如下图所示

JS中富文本编辑器TinyMCE的示例分析

3.2:在TinyMCE初始化中添加上传图片按钮

代码如下图所示,需要注意的是在plugins中和toobar2中都需要加入uploadimage,toolbar1代表第一行菜单,toolbar2代表第二行菜单,次初始化代码是来自 https://www.tinymce.com/docs/demo/full-featured/ 官网一个完整的例子,功能按钮大家可以试着去除或者添加

tinymce.init({
  selector: "textarea",
  upload_image_url: './upload', //配置的上传图片的路由
  height: 400,
  language:'zh_CN',
  plugins: [
  'advlist autolink lists link charmap print preview hr anchor pagebreak',
  'searchreplace wordcount visualblocks visualchars code fullscreen',
  'insertdatetime media nonbreaking save table contextmenu directionality',
  'emoticons template paste textcolor colorpicker textpattern imagetools codesample toc help uploadimage'
  ],
  toolbar1: 'undo redo | insert | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',
  toolbar2: 'print preview media | forecolor backcolor emoticons | codesample help uploadimage',
  image_advtab: true,
  templates: [
  { title: 'Test template 1', content: 'Test 1' },
  { title: 'Test template 2', content: 'Test 2' }
  ],
  menubar: false
 });

再次运行,发现在编辑器的菜单栏多了一个图片的按钮就是上传图片了(TinyMCE默认有一个image,可以去掉,因为那个image只可以给网络图片的URL),总这里plugins里面

已经把默认的image去掉了,如下图

JS中富文本编辑器TinyMCE的示例分析

3.3:实现上传本地图片到服务器的功能

前提:需要先用java实现一个upload工具类,此工具类可以完成本地图片上传到服务器,并返回图片的URL给ajax,ajax在success的方法中接收URL并向TinyMCE中插入一个image标签

JS核心代码如下,已包含在plugin.min.js文件中,这里注意TinyMCE的版本不用命令可能会有差异

success: function (data) {
   //alert('2222');
   //alert(data);
   if (data!=null) {
   //alert('4444');
   editor.focus();
   //tinyMCE 4.X版本的插入对象
   tinyMCE.activeEditor.insertContent('<img src="'+data+'"></img>');
//   editor.selection.setContent(dom.createhtml('img', {src: src}));
//   data.file_path.forEach(function (src) {
//    editor.selection.setContent(dom.createHTML('img', {src: src}));
//   })
   }

ajax提交form表单的操作中还用到了form.ajaxSubmit,所以需要在编辑器的页面引入jquery.form.js 包,整体如下所示

<script type="text/javascript" src="./tinymce/js/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="./tinymce/js/tinymce/tinymce.min.js"></script>
<script type="text/javascript" src="./tinymce/js/tinymce/jquery.tinymce.min.js"></script>
<script type="text/javascript" src="./tinymce/js/jquery.form.js"></script>

实现效果,点击图片上传可以从本地选择图片文件,确定后ajax异步上传,并且返回图片的URL,让TinyMCE执行插入img标签的操作

JS中富文本编辑器TinyMCE的示例分析

四:演示一个编辑器发布网页内容的例子

4.1:添加发布按钮

在编辑器页面下面添加一个发布文章的按钮,定义onclick事件为GetTinyMceContent()

function GetTinyMceContent()
{
// <!-- 
// Http request方式b_content的参数不能太长,太长会截断,这里只是做演示编辑器,真实情况是获取到内容到数据库然后
// 展示的时候在页面遍历数据库字段content的内容
// --> 
//alert('11');
window.location.href="blog.jsp?b_content="+tinyMCE.activeEditor.getContent();
}

4.2:添加文章显示页面

如下图所示

<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>文章内容-HTML</title>
</head>
<body>
<h3 align="center">我的第一篇博文</h3>
<%= request.getParameter("b_content") %>
</body>
</html>

4.3:运行效果

在编辑器输入一些内容,并上传一个图片,如下图示

JS中富文本编辑器TinyMCE的示例分析

点击发布文章的按钮,如下图所示,发布成功可以在网页查看文章的输出格式,大功已经告成!

以上是“JS中富文本编辑器TinyMCE的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网node.js频道!

--结束END--

本文标题: JS中富文本编辑器TinyMCE的示例分析

本文链接: https://www.lsjlt.com/news/78709.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • JS中富文本编辑器TinyMCE的示例分析
    小编给大家分享一下JS中富文本编辑器TinyMCE的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、题外话最近负责了一...
    99+
    2022-10-19
  • Html5富文本编辑器的示例分析
    这篇文章给大家分享的是有关Html5富文本编辑器的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 使用H5的全局属性contentedita...
    99+
    2022-10-19
  • vue-quill-editor+plupload富文本编辑器的示例分析
    这篇文章主要介绍vue-quill-editor+plupload富文本编辑器的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1,先给vue项目中下载vue-quill-ed...
    99+
    2022-10-19
  • Linux中使用文本编辑器vi命令的示例分析
    小编给大家分享一下Linux中使用文本编辑器vi命令的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!vi/vim是什么?Linux世界几乎所有的配置文件都...
    99+
    2023-06-09
  • web脚本编辑器ACE Editor的示例分析
    小编给大家分享一下web脚本编辑器ACE Editor的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!经常会有在线编辑脚本的需求,但是如果使用textar...
    99+
    2023-06-04
  • node使用UEditor富文本编辑器的方法实例
    大部分编辑器的后台是基于java、php、asp等,很少有基于node.js的。今天就做一个基于node的 最近在做一个微信素材编辑器的小项目,使用到了UEditor编辑器,使用中出现了许多问题。 1.介绍...
    99+
    2022-06-04
    编辑器 实例 文本
  • nodejs后台集成ueditor富文本编辑器的实例
    UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码.. 1 下载ueditor nodejs版本 2 ...
    99+
    2022-06-04
    编辑器 后台 实例
  • Vim中编辑器操作的示例分析
    小编给大家分享一下Vim中编辑器操作的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!vim   [参数]   [文...
    99+
    2023-06-09
  • CentOS文件查看及编辑的示例分析
    这篇文章主要为大家展示了“CentOS文件查看及编辑的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CentOS文件查看及编辑的示例分析”这篇文章吧。1 cat 命令...
    99+
    2023-06-10
  • 微信小程序中富文本编辑器的实现
    小程序也是有富文本编辑器这个控件的,别说,之前我还真没注意。 官方文档 官方文档中给出的东西倒是不多,具体的代码示例在下图红框中标注的位置: 示例代码大概是这个样子: 通过官方的...
    99+
    2022-11-13
  • html5中编辑器核心思想的示例分析
    这篇文章给大家分享的是有关html5中编辑器核心思想的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 代码和特性在chrome49下测试有效。...
    99+
    2022-10-19
  • java命令中本质逻辑的示例分析
    这篇文章将为大家详细讲解有关java命令中本质逻辑的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言在日常编码中,有了ide的支持,我们已经很少直接在命令行中直接执行java XXX命令去启动一...
    99+
    2023-06-15
  • linux中Vim编辑器兼容模式的示例分析
    小编给大家分享一下linux中Vim编辑器兼容模式的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!目前,在我们讲述 Vim 的教程中,讨论过编辑器的模式行...
    99+
    2023-06-16
  • js中函数式编程的示例分析
    这篇文章主要为大家展示了“js中函数式编程的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“js中函数式编程的示例分析”这篇文章吧。(1)平常写的函数大多...
    99+
    2022-10-19
  • Python的Flask框架中集成CKeditor富文本编辑器的教程
    CKeditor是目前最优秀的可见即可得网页编辑器之一,它采用JavaScript编写。具备功能强大、配置容易、跨浏览器、支持多种编程语言、开源等特点。它非常流行,互联网上很容易找到相关技术文档,国内许多W...
    99+
    2022-06-04
    编辑器 框架 文本
  • Netty分布式抽象编码器MessageToByteEncoder逻辑的示例分析
    小编给大家分享一下Netty分布式抽象编码器MessageToByteEncoder逻辑的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MessageTo...
    99+
    2023-06-29
  • HTML5中文本格式化的示例分析
    这篇文章将为大家详细讲解有关HTML5中文本格式化的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。文本格式化:<b>:加粗文字<i>:斜体...
    99+
    2022-10-19
  • HTML中文本格式化的示例分析
    这篇文章给大家分享的是有关HTML中文本格式化的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。HTML 文本格式化<!DOCTYPE HTML> &...
    99+
    2022-10-19
  • js中数据存储和DOM编程的示例分析
    这篇文章给大家分享的是有关js中数据存储和DOM编程的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。数据存储·在javascript中,数据存储的位置会对代码整体性能产生...
    99+
    2022-10-19
  • js中递归和定时器的示例分析
    这篇文章将为大家详细讲解有关js中递归和定时器的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。递归:是一个函数通过调用自身的情况下构成的;首先上个例子:Funct...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作