当前位置: 首页 > news >正文

富文本返回的Html数据格式化

是这样的,有一个文章查看功能,流程是管理员在富文本编辑器里编写文章,将内容为html格式的数据传给后端,用户查看文章时,不知道为啥,内容的图片和文字的样式非常乱

这时我们在使用v-html展示之前,做一些样式规范化处理,这里只处理图片,文字,表格,如果有其他的内容,可以增加处理

/*** * 接收后端返回的html,用来规范图片与文字的展示* @param {*} rawHtml* */export default function normalizeHtml (rawHtml) {// 通过 DOMParser/临时容器处理服务端返回的 html,统一图片与段落样式if (!rawHtml) return ''const container = document.createElement('div')container.innerHTML = rawHtml// 规范图片:移除行内宽高,添加自适应类名const images = container.querySelectorAll('img')images.forEach(img => {img.removeAttribute('width')img.removeAttribute('height')img.style.width = ''img.style.height = ''img.style.maxWidth = '100%'img.style.height = 'auto'img.style.display = 'block'img.style.margin = '12px auto'})// 规范表格:允许横向滚动,避免溢出const tables = container.querySelectorAll('table')tables.forEach(tb => {tb.style.width = '100%'tb.style.borderCollapse = 'collapse'tb.style.tableLayout = 'fixed'tb.querySelectorAll('td,th').forEach(cell => {cell.style.wordBreak = 'break-word'cell.style.whiteSpace = 'normal'})})// 清理过度的内联 font/size 样式,统一文本行高与颜色const textBlocks = container.querySelectorAll('p, span, div, li')textBlocks.forEach(el => {el.style.backgroundColor=''el.style.lineHeight = ''el.style.margin='5px 0'el.style.fontSize = '17px'el.style.textAlign='left'el.style.color = ''})return container.innerHTML
}

http://www.dtcms.com/a/465330.html

相关文章:

  • 昂瑞微冲刺科创板:创新驱动,引领射频芯片国产化新征程
  • 基于Java(Spring Boot)+MySQL实现电商网站
  • 记录一次生产环境数据库死锁的处理过程
  • 首先确定网站建设的功能定位seo推广工具
  • Nestjs框架: Pino 与 Pino-Elasticsearch 组合实现高性能日志写入与检索的完整方案
  • 走近实验技术中的“四大发明”之Southern blot、Northern blot和Western blot
  • 网站建设需求文档模板下载想做电商从哪里入手
  • ai做网站建站做得好的公司
  • 网络层--数据链路层
  • 网站设计应该遵循哪些原则手机网站打开手机app
  • 【AI安全】Qwen3Guard: 实时流式检测实现AI模型安全防护新标杆
  • 网络攻防技术:网络安全攻击概述
  • 【开题答辩全过程】以 “有客”旅游小助手平台为例,包含答辩的问题和答案
  • 如何创建网站难吗wordpress创建公告
  • 探索MySQL存储过程的性能优化技巧与最佳实践
  • UNIX下C语言编程与实践62-UNIX UDP 编程:socket、bind、sendto、recvfrom 函数的使用
  • UNIX下C语言编程与实践64-UNIX 并发 Socket 编程:I/O 多路复用 select 函数与并发处理
  • 世界杯哪个网站做代理跨境电商网站系统开发
  • SNK施努卡CCD视觉检测系统
  • 杨和勒流网站建设网站建设制作设计
  • SQLite架构
  • 初识Linux和Linux基础指令详细解析及shell的运行原理
  • Python容器内存三要素
  • NumPy 矩阵库(numpy.matlib)用法与作用详解
  • Web 开发 26
  • 正规app软件开发费用漯河网站优化
  • 人工智能学习:线性模型,损失函数,过拟合与欠拟合
  • 开篇词:为何要懂攻防?—— 实战化安全思维的建立
  • 怎么在qq上自己做网站wordpress是一款强大的
  • 网站建设公司 成本结转ppt之家模板免费下载