wangEditor富文本编辑器的调用开发实录2(V5版本自定义粘贴,去除复制word或网页html冗余样式代码的解决方案)

wangEditor富文本编辑器:自定义粘贴,去除复制word或网页html冗余样式代码的解决方案

  • 1.环境说明
  • 2.解决方案
  • 3.完整代码
  • 总结

在使用wangEditor富文本编辑器时,当从word文档或者其他网页复制文本内容粘贴到编辑器中,如果不过滤掉复制文本中自带的样式,会导致复制的内容比较错乱,甚至无法添加到数据库中。为了解决这个问题,我们需要对从word中粘贴的内容进行处理,把多余的代码剔除,让粘贴后的文本变得更加简洁和轻量。

在这里插入图片描述

在这里插入图片描述

1.环境说明

  • wangEditor,V5版本;
  • 编辑器配置参数:customPaste,即自定义粘贴,可阻止编辑器的默认粘贴,实现自己的粘贴逻辑。
  • 使用说明,传送门
editorConfig.customPaste = (editor, event) => {// const html = event.clipboardData.getData('text/html') // 获取粘贴的 htmlconst text = event.clipboardData.getData('text/plain') // 获取粘贴的纯文本// const rtf = event.clipboardData.getData('text/rtf') // 获取 rtf 数据(如从 word wsp 复制粘贴)// 同步editor.insertText('xxx')// 异步setTimeout(() => {editor.insertText('yy')}, 1000)// 阻止默认的粘贴行为event.preventDefault()return false// 继续执行默认的粘贴行为// return true
}

2.解决方案

    //默认粘帖editorConfig.customPaste = (editor, event) => {const text = event.clipboardData.getData('text/plain') // 获取粘贴的纯文本// 同步editor.insertText(text);// 阻止默认的粘贴行为event.preventDefault();return false}

3.完整代码

//wangEditor配置项const {createEditor, createToolbar} = window.wangEditorconst editorConfig = {MENU_CONF: {},placeholder: 'Type here...',onChange(editor) {const html = editor.getHtml()//console.log(html);}}//默认粘帖editorConfig.customPaste = (editor, event) => {const text = event.clipboardData.getData('text/plain') // 获取粘贴的纯文本// 同步editor.insertText(text);// 阻止默认的粘贴行为event.preventDefault();return false}//上传图片editorConfig.MENU_CONF['uploadImage'] = {fieldName: 'file',//后台获取文件方式;server: '?m=Upload&a=uploadDeal&act=wangEditor&fromType=module&token=' + token,maxFileSize: 1 * 1024 * 1024, // 1MallowedFileTypes: ['image/*'],onFailed(file, res) {layer.msg(res.message);},onError(file, err, res) {layer.msg(file.name + err);}}const editor = createEditor({selector: '#editor-container',html: '',config: editorConfig,mode: 'default', // or 'simple'})//工具栏配置项const toolbarConfig = {}toolbarConfig.excludeKeys = ['uploadVideo', 'todo']const toolbar = createToolbar({editor,selector: '#toolbar-container',config: toolbarConfig,mode: 'default', // or 'simple'})

在这里插入图片描述

在这里插入图片描述

总结

wangEditor富文本编辑器去除复制的Word样式可以实现:

  1. 一致性:复制的Word样式可能与编辑器当前的样式不匹配,这会导致文本的外观不一致。为了保持编辑器中文本的一致性,去除复制的Word样式是必要的。

  2. 兼容性:Word中的样式可能包含复杂的格式和特殊的标记,这些标记可能在编辑器中不被支持。为了确保复制的文本在编辑器中正常显示,去除复制的Word样式是必要的。

  3. 清理冗余代码:Word样式在HTML中通常会生成大量的冗余代码,这可能导致页面加载缓慢和不必要的网络流量。通过去除复制的Word样式,可以帮助减少冗余代码,提高页面加载速度。

综上所述,去除复制的Word样式可以提高文本的一致性、兼容性,并优化页面加载效果。


@漏刻有时

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/23299.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【UniApp开发小程序】顶部导航栏和底部导航栏设置+iconfont图标引入

文章目录 顶部导航栏和底部导航栏设置创建几个需要底部导航栏切换的页面使用阿里巴巴矢量图标库完成底部导航栏tabBar设置页面顶部导航栏标题 样式优化 顶部导航栏和底部导航栏设置 在正式开发小程序的功能之前,首先需要确定小程序的主要框架。 创建几个需要底部导…

【Linux系统】Linux多线程详解

Linux多线程 1 前置知识1.1 进程的概念1.2 线程的概念1.3 进程地址空间1.4 由虚拟地址到物理地址的页表映射(二级页表)1.4.1 一级页表的缺点1.4.2 二级页表 1.5 Linux中的进程 2 Linux中的多线程(Linux并不存在真正意义上的线程)2…

如何清除视频和照片中水印的几种方式

文章目录 如何清除视频和照片中水印的几种方式一、清除视频中水印的几种方式1、截除水印区域2、模糊水印区域3、使用人工智能技术工具3.1 通过【iMyFone-MarkGo[^1]】消除水印3.2 通过【嗨格式视频转换器[^2]】消除水印3.3 通过【PR 视频编辑器】消除水印3.4 通过 【美图秀秀】…

el-table实现动态表头,自定义斑马纹等功能

需求:1.根据选择的日期时间,实现表头的动态显示功能 2.修改默认表头灰色样式, 3.斑马纹偶数灰色改为奇数为灰色 4.表格某一行加分割线区分 1.效果 2.动态表格实现 1.height:表格的高度设置,内容超出后会显示滚动条&a…

【JAVAEE】JVM中垃圾回收机制 GC

博主简介:想进大厂的打工人博主主页:xyk:所属专栏: JavaEE初阶 上篇文章我们讲了java运行时内存的各个区域。 传送门:【JavaEE】JVM的组成及类加载过程_xyk:的博客-CSDN博客 对于程序计数器、虚拟机栈、本地方法栈这三部分区域而言&#x…

KEIL安装额外版本的arm compiler v6.16 v5.06update7

很多时候安装了一个版本的keil,但是别人的工程是拿另一个版本做的,重新安装也不是不行,但是会占很多地方,文件关联也很乱套,所以记录一下怎么安装额外的,比如我的是keil mdk530,自带Compiler v6…

Unity平台如何实现RTSP转RTMP推送?

技术背景 Unity平台下,RTSP、RTMP播放和RTMP推送,甚至包括轻量级RTSP服务这块都不再赘述,今天探讨的一位开发者提到的问题,如果在Unity下,实现RTSP播放的同时,随时转RTMP推送出去? RTSP转RTMP…

5.2 Python高阶特性之---切片迭代

一、 切片 一般用于提取指定区间内的内容,常用于:str、list、tuple等类型的的局部变量,如下为具体案例1、 【列表切片】 res_list [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95]1) 无步长: …

k8s概念介绍

目录 一 整体架构和组件基本概念 1.1 组件 1.1.1 master节点 1.1.2 node节点 1.1.3 附加组件 二 资源和对象 2.1 资源分类 2.2 元数据资源 Horizontal Pod Autoscaler(HPA) PodTemplate LimitRange 2.3 集群资源 namespace Node ClusterRo…

Android JNI 异常处理 (十一)

🔥 Android Studio 版本 🔥 🔥 创建包含JNI的类 JNIException.java 🔥 package com.cmake.ndk1.jni;public class JNIException {static {System.loadLibrary("exception-lib");}public native void nativeInvokeJavaException();public native void nativ…

基于vue3+pinia2仿ChatGPT聊天实例|vite4.x仿chatgpt界面

原文:基于vue3pinia2仿ChatGPT聊天实例|vite4.x仿chatgpt界面 基于vue3pinia2仿ChatGPT聊天实例|vite4.x仿chatgpt界面 使用vue3pinia2开发仿制chatgpt界面聊天实例Vue3-Chatgpt 基于Vue3.xPinia2VueRouterVue3-Markdown等技术构建仿ChatGPT网页端聊天程序。支持经…

电机驱动系列(1)--例程下载演示

电机驱动系列(1) 使用设备连线实操感想 使用设备 硬件:野火骄阳板–STM32F407IGT6,野火无刷电机驱动板,PMSM电机软件:MCSDK,STM32CubeMX,Keil5软件安装注意事项:MCSDK-F…