vue+ueditor强制修改字体大小

2023-11-08

  1. 首先找到 ueditor.all.js 文件,然后搜索如下代码:

    body{margin:8px;font-family:sans-serif;font-size:16px;}
    

    修改以上代码的font-size仅在内容文本的元素标签没有内联样式时生效

  2. 如果想强制修改内容文本所有字体大小,可以利用如下方法实现(在搜索到上面代码的方法中找到如下方法):
    ueditor.all.js的render方法
    红框选中的就是上面搜索到的代码,然后找到 _setup 方法点进去,其实就在render方法下边。然后在 _setup方法首行添加如下代码:

    // 处理编辑器字体大小
    setTimeout(() => {
       const contentSpans = doc.body.getElementsByTagName('span')
       for (let i = 0; i < contentSpans.length; i++) {
         contentSpans[i].style.fontSize = '14pt'
       }
     })
    

    ueditor.all.js的_setup方法
    其实就是在ueditor编辑器初始化的时候,利用dom对象去修改标签的属性,你还可以自定义别的样式属性。我这边发现word中复制出来的内容一般都是span标签上有font-size样式,如果有别的标签元素可以自己修改下代码。

后续更新…

今天发现网站在ie浏览器上打不开了,= = ,突然想到ie这个垃圾浏览器不支持 ()=> 语法,需要把
()=> 替换为 function(),替换后代码如下:

// 处理编辑器字体大小,这个方法不怎么稳定,时好时坏的,有大神解决的话可以告知我...
setTimeout(function () {
  const contentSpans = doc.body.getElementsByTagName('span')
  for (let i = 0; i < contentSpans.length; i++) {
    contentSpans[i].style.fontSize = '14pt'
    contentSpans[i].innerHTML = contentSpans[i].innerHTML.replace(/font-size: (\d*)px/g, 'font-size: 14pt')
    contentSpans[i].outerHTML = contentSpans[i].outerHTML.replace(/font-size: (\d*)px/g, 'font-size: 14pt')
  }
})

再次更新,解决如上方法不稳定的折中办法…

因为如上方法有时候不执行,所以可以在给ueditor赋值的时候直接把文本内容中的font-size样式全局替换为指定大小。

this.$refs.ueditor.setContent(result.noticeContent.replace(/font-size: (\d*)px/g, 'font-size: 14pt'))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue+ueditor强制修改字体大小 的相关文章