密通学院

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7445|回复: 0

[开发] Discuz 3.3/3.4发帖编辑器回车两次及换行提交后无效等问题解决方法

[复制链接]
  • TA的每日心情
    可爱
    2018-6-29 10:04
  • 289

    主题

    319

    帖子

    9万

    铜板

    超级版主

    Rank: 8Rank: 8

    积分
    93815
    QQ
    发表于 2020-11-20 09:54:41 | 显示全部楼层 |阅读模式

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

    您需要 登录 才可以下载或查看,没有帐号?立即注册

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

    解决方法:

    找到static/js/bbcode.js,搜索if((allowhtml && fetchCheckbox('htmlon')) || trim(str) == '') {,在这行下方大约315行的下方(Discuz X3.4)加入以下代码:

    1. <blockquote><font face="Tahoma, Microsoft Yahei, Simsun"><span style="font-size: 13px;">//fix first enter cannot start new line</span></font>
    复制代码
    本段修改前后对比如下:

    修改前:
    1. if((allowhtml && fetchCheckbox('htmlon')) || trim(str) == '') {
    2. for(i in EXTRAFUNC['html2bbcode']) {
    3. EXTRASTR = str;
    4. try {
    5. eval('str = ' + EXTRAFUNC['html2bbcode'][i] + '()');
    6. } catch(e) {}
    7. }
    8. str = str.replace(/<img[^>]+smilieid=(["']?)(\d+)(\1)[^>]*>/ig, function($1, $2, $3) {return smileycode($3);});
    9. str = str.replace(/<img([^>]*aid=[^>]*)>/ig, function($1, $2) {return imgtag($2);});
    10. return str;
    11. }
    复制代码
    修改后:

    1. if((allowhtml && fetchCheckbox('htmlon')) || trim(str) == '') {
    2. for(i in EXTRAFUNC['html2bbcode']) {
    3. EXTRASTR = str;
    4. try {
    5. eval('str = ' + EXTRAFUNC['html2bbcode'][i] + '()');
    6. } catch(e) {}
    7. }
    8. str = str.replace(/<img[^>]+smilieid=(["']?)(\d+)(\1)[^>]*>/ig, function($1, $2, $3) {return smileycode($3);});
    9. str = str.replace(/<img([^>]*aid=[^>]*)>/ig, function($1, $2) {return imgtag($2);});
    10. return str;
    11. }

    12. //fix first enter cannot start new line
    13. var divPos = strpos(str,"<div>");
    14. if(divPos > 0 ){
    15. if(divPos > 4 && str.substr(divPos - 4,4) == '</p>'){}
    16. else{
    17. str = str.substr(0,divPos) + '<br>'+ str.substr(divPos);
    18. }
    19. }
    20. //end
    复制代码


    如果您有业务需求,可以和我联系:http://wpa.qq.com/msgrd?V=3&amp; ... yes&amp;from=discuz
    回复

    使用道具 举报

    快速回复: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    首页|Archiver|手机版|小黑屋|密通学院:专业网络营销服务商

    GMT+8, 2024-3-28 22:15 , Processed in 0.109375 second(s), 30 queries QQ

    Powered by XMT Inc. © 2015-2025 ArrayV1.0 豫ICP备17022382号

    系统运营:密城通 豫公网安备 41018302000212 号

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