ddddd

解决Ueditor二次编辑代码语言pre不显示问题

作者:程序员11 时间:2023-06-29 人气:357 QQ交流群\邮箱:1003265987@qq.com
解决Ueditor二次编辑代码语言pre不显示问题
要展示的内容

前言:在做博客网站时会用到文章二次编辑的功能,就是将发表过的文章重新导入ueditor进行重新编辑,方法倒是很简单,直接使用ueditor提供的setcontent方法就可以实现此功能,但是完成此功能后发现事情并不是这么简单,如果你单纯的将所有html导入时如果没有<pre>标签时是完美运行的,如果出现pre标签时则ueditor都不加载,所以针对这个问题开始进行解决Ueditor二次编辑代码语言pre不显示问题


分析原因:发现只要出现pre标签后他就会运行这段代码,所以导致编辑器不加载,所以只有把html代码转换成text才能完美的加载ueditor并且将代码语言放到ueditor上,所以我们这样做。


1、先将数据库获取到的内容存放在一个div里,并让这个div隐藏,用于后来对里面格式的转换

<!-- 将数据库数据放到div里 -->
         <div id="contentdiv" style="display:none">
         ${article.content}
         </div>

2、获取div里所有的pre内容,将内容转换成text,这里会用到遍历,因为获取的是所有的pre,你写文章时不知道有几个pre,所以这里直接获取pre的个数进行遍历,如果不遍历会出现所有pre内容存在一起的错误

$(function(){
        //获取pre个数,根据jquery版本问题.length()也可以
        var presize=$("#contentdiv pre").size();
        //遍历pre进行pre的格式转换
        for(var i=0;i<presize;i++){
        var pre=$("#contentdiv pre").eq(i).text();
        $("#contentdiv pre").eq(i).text(pre);
}
        });

3、上述已经将pre内容转换成text并且重新放到了div里,所以div里的pre并不是html代码,而是text文本,这样重新放到ueditor就OK了

UEDITOR_CONFIG.UEDITOR_HOME_URL='/fman/jsp/common/ueditor/';
          var ue=UE.getEditor('myEditor');
          ue.addListener("ready", function () {  
           // editor准备好之后才可以使用  
           ue.setContent($("#contentdiv").html());  
          });

链接:https://funyan.cn/p/174.html

温馨提示:

欢迎阅读本文章,觉得有用就多来支持一下,没有能帮到您,还有很多文章,希望有一天能帮到您。

解决Ueditor二次编辑代码语言pre不显示问题---相关文章


评论区

ddddd

程序员-学习的网站-想学习编程的码农可以进来看看

首页

视频教程

购物车

我的订单