uniapp小程序开发-富文本编辑器mp-html,juice外部样式转内联样式

这篇具有很好参考价值的文章主要介绍了uniapp小程序开发-富文本编辑器mp-html,juice外部样式转内联样式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

在开发一款公司的小程序过程中,有一个需求:web端后端可以上传word文档,后端转为html字符串;小程序接收显示,并且可以在小程序进行编辑修改。
其实在日常小程序中很少见到富文本编辑器的使用,所以这次使用的过程中也尝试了多种,但是最好用的还是mp-html

mp-html

这款插件也是DCloud插件库里的一款,内部其实也是封装使用微信中原生的editor

这款插件的兼容性也很不错,目前也是有人维护的,
uniapp小程序开发-富文本编辑器mp-html,juice外部样式转内联样式
如果小程序有需要还是可以支棱起来的

如何使用

	在使用上我还是踩了一些坑的,文档以及百度上的一些资料都太模糊,不足以让我一个初学者去使用。现在我记录一下我的使用过程
第一步
  • 使用 npm install mp-html -dev 安装
    uniapp小程序开发-富文本编辑器mp-html,juice外部样式转内联样式

  • 安装成功后,在node_modules中找到mp-html
    uniapp小程序开发-富文本编辑器mp-html,juice外部样式转内联样式

第二步
  • 找到node_modules/mp-html/tools/config.js 这个文件的配置可以开启编辑器,媒体,视频等插件,必须要删除之前的注释符号才是真的打开配置
  • uniapp小程序开发-富文本编辑器mp-html,juice外部样式转内联样式uniapp小程序开发-富文本编辑器mp-html,juice外部样式转内联样式
第三步
  • 在我们的终端,将使用命令路径切换至 cd .\node_modules\mp-html\
  • uniapp小程序开发-富文本编辑器mp-html,juice外部样式转内联样式
  • 执行npm install
    npm run build:uni-app
    这样就把编辑器启动好了
第四步

可以封装一个组件,组件中直接引用
import mpHtml from 'mp-html/dist/uni-app/components/mp-html/mp-html'

components: {
	mpHtml
},
// html 可以一段字符串‘<p style="font-size:20px">dgfhfghfghfghjghj</p>’
	<mp-html ref="article" container-style="padding:20px" :content="html"  :editable="editable" @remove="remove" />				

遇到的问题

因为后端解析的word文档是一个完整的html字符串,例如:
<html><head><style>...</style></head><body>.....</body></html>
而对于我们的富文本是不支持解析这些标签的,而且富文本编辑器仅支持内联样式。后端提供的字符串全部是外联样式。在此,可以使用一个插件解决问题:juice

juice

还有一个插件与juice齐名的插件:inline-css ,因为安装过程中一直反应一个async-hooks 未安装,一直安装一直失败,网上没有找到一个解决方式,我就没有用这个了。如果有人看到可以私信我,帮我一下!感激哦!!!
使用方式

var juice = require('juice');
var result = juice("<style>div{color:red;}</style><div/>");
<div style="color: red;"></div>

截取body内的内容

我们可以使用一个正则就可以解决

var rx = /<body[^>]*>([\s\S]+?)<\/body>/i;
var m = rx.exec(result);
 if (m) this.nodes = m[1];

后记

如果小程序中仅需要展示的话,微信原生的rich-text足够了(wxparser也是可以的,但是需要加一下配置)

wxparser 配置(不能在页面的子组件中使用,无效,可以使用slot)

在pages.json里面,需要使用wxparser 的页面单独配置就可以
uniapp小程序开发-富文本编辑器mp-html,juice外部样式转内联样式

 "mp-weixin": {
   "usingComponents": {
      "wxparser": "plugin://wxparserPlugin/html-parser"
    }
  }

结语

这篇仅开发过程中遇到的问题记录。排版随便,见谅文章来源地址https://www.toymoban.com/news/detail-493861.html

到了这里,关于uniapp小程序开发-富文本编辑器mp-html,juice外部样式转内联样式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java中规模软件开发实训——简单的文本编辑器(代码注释详解)

    ✨ 博主: 命运之光 🌸 专栏: Python星辰秘典 🐳 专栏: web开发(html css js) ❤️ 专栏: Java经典程序设计 ☀️ 博主的其他文章: 点击进入博主的主页 前言: 在现代社会中,计算器是我们生活中不可或缺的工具之一。它们可以轻松地进行各种数值计算,从简单的加减乘除

    2024年02月13日
    浏览(28)
  • Tinymce富文本编辑器二次开发电子病历时解决的bug

    本文是在Tinymce富文本编辑器添加自定义toolbar,二级菜单,自定义表单,签名的基础之上进行一些bug记录,功能添加,以及模版的应用和打印 项目描述 建立电子病历模版—录入(电子病历模版和电子病历打印模版)—查看电子病历和打印病历模版 建立电子病历----添加一个电

    2024年04月10日
    浏览(32)
  • Web开发的富文本编辑器CKEditor介绍,Django有库ckeditor_uploader对它进行支持

    当需要在网页应用程序中提供富文本编辑功能时,CKEditor是一个流行的选择。CKEditor是一个开源的JavaScript富文本编辑器,它提供了强大的功能和用户友好的界面,使用户可以轻松创建和编辑格式化的文本内容。 以下是CKEditor的一些主要特性: 所见即所得编辑 :CKEditor提供了所

    2024年02月15日
    浏览(22)
  • 【富文本编辑器实战】02 编写编辑器配置文件

    本篇文章主要内容是项目的配置文件的编写与讲解,包括菜单项配置、语言配置、总体配置。 下图是编辑器的总体结构: 编辑器大致可以分为两个部分,菜单栏(图中的 1)和下面的编辑器(图中的 4)。其中菜单栏的内容较多,每个菜单项都包含了图标,说明文字(图中的 2)。部

    2024年01月21日
    浏览(42)
  • dede编辑器修改成纯文本编辑器的方法

    我在做优秀啦网站大全的时候需要的正文内容都不需要设置什么文字样式,所以我需要把编辑器上的工具全部取消掉,包括会员投稿中的编辑器工具栏全部取消掉或者屏蔽隐藏掉,所以我需要把DEDE编辑器修改成纯文本编辑器的方法如下: 如图: 首先打开 /include/ckeditor/ckedi

    2024年02月16日
    浏览(32)
  • 【富文本编辑器实战】04 菜单组件和编辑器的整合

    在上一篇文章中,我们对整个编辑器项目的大体结构有了一定的了解,主要分为菜单栏和编辑区。菜单栏包括了编辑器的主要文本操作功能,且菜单项是可配置的。编辑器界面显示比较简单,是一个可编辑的 div 区域。接下来我们就来把编辑器的整体框架搭建起来,让其可以

    2024年01月24日
    浏览(52)
  • 富文本编辑器

    啥是富文本编辑器,就是下面这个东西: 1.那这玩意儿怎么安装和配置: 2. 通过(在终端里输入)  npm install vue-quill-editor --save  安装 3.具体的在项目里的配置过程可以看最新的官方文档vue-quill-editor · Quill官方中文文档 · 看云 4.这里先简单说下怎么配置,首先在main里输入:

    2024年02月10日
    浏览(41)
  • Vim文本编辑器

    目录 一、Vim文本编辑器   1.1、什么是Vim文本编辑器 1.2、Vim文本编辑器基本格式 1.3、Vim的三种模式及切换 ​二、命令模式 2.1、Vim的进入与退出 2.2、命令模式下光标跳转的快捷键 2.3、常用命令集合 三、编辑模式 四、末行模式 Linux 系统中“一切皆文件”,因此当我们要更改

    2024年02月10日
    浏览(46)
  • 【Electron】富文本编辑器之文本粘贴

    由于这个问题导致,从其他地方复制来的内容 粘贴发送之后都会多一个 换行 在发送的时候如果直接,发送innerHTML 就 可以解决 Electron h5 Andriod 都没问题,但是 公司的 IOS 端 不支持,且不提供支持(做不了。)。 于是,继续想办法。 把单纯的富文本插入操作,改一下,只粘

    2024年02月03日
    浏览(34)
  • 15 文本编辑器vim

            如果file.txt就是修改这个文件,如果不存在就是新建一个文件。          使用vim建完文件后,会自动进入文件中。          底部要是显示插入,是编辑模式;         按esc,底部要是空白的,则是进入命令模式,可以输入一些快捷键进行操作,比如说

    2024年02月15日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包