Discuz教程网

Discuz X3.4发帖编辑器回车两次及换行提交后无效等问题解决方法

[复制链接]
authicon dly 发表于 2019-4-25 21:11:34 | 显示全部楼层 |阅读模式
原文:修正discuz发帖首次换行无效的问题

具体症状:

无论是DZ官方默认模板还是其他模板,在初次编辑帖子的时候,已经排好段落换行的,发布后经常出现换行消失,比如回车一次和两次的,提交后会发现换行有可能生效,更可能没有变化,
尤其是图文排版,文字和图片直接的空行很难控制,经常要反复编辑两三次,费时费力。

这个问题已经困扰了几年,由于水平问题一直没有勇气去解决,以下解决方法参考sunguide的方法,非常简单的解决了,在此感谢!

找遍了百度和google都没有解决方案,连discuz官方都没有出来解决,至今其官网仍有这个问题。
那就自己动手解决吧,顺手打个补丁。虽然走了小路,但是能解决问题。
解决方案:修改static/js/bbcode.js
找到 html2bbcode()方法,添加红色部分:
if((allowhtml && fetchCheckbox('htmlon')) || trim(str) == '') {
    for(i in EXTRAFUNC['html2bbcode']) {
        EXTRASTR = str;
        try {
            eval('str = ' + EXTRAFUNC['html2bbcode'] + '()');
        } catch(e) {}
    }
    str = str.replace(/<img[^>]+smilieid=(["']?)(\d+)(\1)[^>]*>/ig, function($1, $2, $3) {return smileycode($3);});
    str = str.replace(/<img([^>]*aid=[^>]*)>/ig, function($1, $2) {return imgtag($2);});
    return str;
}

//fix first enter cannot start new line
var divPos = strpos(str,"<div>");
if(divPos > 0 ){
    if(divPos > 4 && str.substr(divPos - 4,4) == '</p>'){}
    else{
        str = str.substr(0,divPos) + '<br>'+ str.substr(divPos);
    }
}
//end

来源:
http://www.discuz.net/thread-3846812-1-1.html
https://segmentfault.com/a/1190000009142976



上一篇:①大数据量采集 标准版8.2 包量1000条 价值50元(2018.06.23更新)
下一篇:论坛/门户简洁手机 手机版UTF8 价值398元(2019.02.13更新)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2024-5-2 22:45

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表