wangEditor版本升级导致的一些问题

系统早期使用的wangEditor的4.x版本,录入了很多数据。之后升级了5.x版本。 近期用户编辑早先4.x时期录入的数据,直接报错。定位错误是调用editor.setHtml(content);报错。

问题1: # Cannot read properties of null (reading 'length')

官方方案#4933

出问题数据如下:

js 复制代码
<h3 id=\"prnoj\">4.标题</h3>
<a  href=\"https://github.com/wangeditor-team/wangEditor/issues/4933\"   target=\"_blank\">https://github.com/wangeditor-team/wangEditor/issues/4933
    </a><br/>

页面崩溃,控制台打印错误日志如下:

其中的a标签替换为img标签也报同样的错

解决方案

a或者img标签外层嵌套一层p标签

js 复制代码
<h3 id=\"prnoj\">4.标题</h3><p><a href=\"https://github.com/wangeditor-team/wangEditor/issues/4933\" target=\"_blank\">https://github.com/wangeditor-team/wangEditor/issues/4933</a></p><br/>

问题2: 图片不展示

旧数据如下:

js 复制代码
<h3>标题</h3>
<div><img src=\"https://images.pexels.com/photos/19117864/pexels-photo-19117864.jpeg\" contenteditable=\"false\"/></div>

现象是:只有标题展示,图片不展示

解决方案

将img标签使用p标签包裹,只能是P标签,如下

html 复制代码
<h3>标题</h3>
<p><img src=\"https://images.pexels.com/photos/19117864/pexels-photo-19117864.jpeg\" contenteditable=\"false\"/></p>

其实在5.0输入一个图片,自动生成的代码就是p标签包裹img标签的格式

终极解决方案

如果想要4.0的数据展示5.0的效果。需要在出问题的地方都包裹一个P标签

如果不需要数据复原展示,只需要防止页面崩溃,直接try...catch 一下

js 复制代码
      try {
        editor.setHtml(content);
      } catch(e) {
        editor.setHtml(`<p>${content}</p>`);
      }
相关推荐
小离a_a37 分钟前
使用原生css实现word目录样式,标题后面的...动态长度并始终在标题后方(生成点线)
前端·css
郭优秀的笔记1 小时前
抽奖程序web程序
前端·css·css3
布兰妮甜1 小时前
CSS Houdini 与 React 19 调度器:打造极致流畅的网页体验
前端·css·react.js·houdini
小小愿望2 小时前
ECharts 实战技巧:揭秘 X 轴末项标签 “莫名加粗” 之谜及破解之道
前端·echarts
小小愿望2 小时前
移动端浏览器中设置 100vh 却出现滚动条?
前端·javascript·css
fail_to_code2 小时前
请不要再只会回答宏任务和微任务了
前端
摸着石头过河的石头2 小时前
taro3.x-4.x路由拦截如何破?
前端·taro
lpfasd1232 小时前
开发Chrome/Edge插件基本流程
前端·chrome·edge
练习前端两年半3 小时前
🚀 Vue3 源码深度解析:Diff算法的五步优化策略与最长递增子序列的巧妙应用
前端·vue.js
烛阴3 小时前
TypeScript 接口入门:定义代码的契约与形态
前端·javascript·typescript