a526026058
本帖最后由 a526026058 于 2017-8-17 09:24 编辑
首先,这个问题是我在使用表格排版进行发帖时发现的一个现象,我本人觉得这是Mcbbs编辑器的Bug,当然,如果不是的话,也麻烦管理指出错误。

在描述问题之前,我需要描述一下几个现象
1.当使用编辑器发帖时,如果点击右上角的“纯文本”选择框(点击包括选中/取消选中),那么毫无疑问,编辑框的预览将会被切换。
但是,同时,编辑器也会对帖子内容中的代码进行检查,并且进行编辑器所认为的正确补齐方式。

2.当使用编辑器发帖时,如果没有点击右上角的“纯文本”选择框(点击包括选中/取消选中),而是选择直接点击“发表帖子”,那么发布出去的帖子内容,里面的代码将没有被编辑器检查过,也就是说编辑器没有对这些代码进行它认为的正确补齐方式。当然,如果所发布的帖子内容中有残缺代码,那么论坛系统在读取帖子时,会直接忽略掉这些代码,也就是不显示在帖子上(即看帖子时看不见的)。

3.当使用2的方式发表帖子时,如果帖子内容中本身有些代码引起了编辑器的注意(如果按照1的方式发帖,那边编辑器会对帖子内容中的这些代码进行它认为正确的补全方式),但是因为使用2的方式,直接跳过了编辑器的检查。不过,也不需要高兴太早。因为,使用2的方式来发帖,如果以后你需要编辑帖子时,只要一点下“编辑”按钮,那么编辑器将会立刻对你帖子内容中的代码进行它认为正确的自动补齐方式。

从上面的现象,我大概总结了这几个规律
1.在编辑模式,点击右上角的“纯文本”按钮,将触发编辑器的代码检查功能,编辑器会按它认为正确的方式补齐你输入的代码。
2.当发布完帖子,想再次修改内容时,点击“编辑”按钮,也会触发编辑器的代码检查功能,编辑器会按它认为正确的方式补齐你输入的代码。
3.编辑器在按照它所认为的正确方式补齐你所输入的代码时,是不会给你任何提示的。

那么,这几条规律有什么危害呢?
我们来做一个实验!

实验器材:1.代码文本文件
代码1.txt (3.71 KB, 下载次数: 7)
代码2.txt (501 Bytes, 下载次数: 4)
2.文本差异比较器:http://www.jq22.com/textDifference
实验方案:

1.我们随便开了一个帖子,然后点击“纯文本”模式,将代码1的内容全部粘贴进去。
之后点击“发表帖子”

2.发表后,我们可以查看到,帖子内容一切正常,表格也没有任何问题


为了严谨些,我们再点击“编辑“,进入编辑模式后再点击”纯文本“。我们把帖子内容全部复制出来。
放在文本差异比较器中进行比较。



我们可以看到,图中代码1的内容和发布后重新点击”编辑“,让编辑器进行代码补齐后的内容是一样的。
这意味着代码1的代码是没有问题的,所以编辑器没有进行补齐代码的操作。

3.接着,我们上代码2。通过模仿上一步的操作。
我们同样可以检查出,代码2中的代码也是没有问题的,编辑器也没有对其进行补齐代码的操作。

4.现在,我们将代码1代码2进行结合,也就是表格模版发帖!
注意:记得把结合后的代码复制下来,然后放到文本差异比较器的左边一框。


发布完,我们查看帖子,帖子的内容一切都正常。
但是,当我们点击”编辑“后,然后即使什么也不做,直接点击”发布帖子“。
我们再查看帖子时,将会变成这样。

我们可以发现,下部分有了变化。
这是不是意味着帖子内容的代码已经发生了变化呢?
所以,我们再点击"编辑",然后点击”纯文本“,把帖子内容全部复制出来。
放到文本差异比较器的右边一框。
经过比较,果然有所区别。



最后,我们得出结论
1.论坛编辑器的检查代码功能所检查的方式与我们查看帖子时帖子的解析方式不同。因此,有可能导致,原本你排的好好的帖子,里面的代码没有问题,如果直接点击”发表帖子“是没有问题的。但是,只要一经过论坛编辑器的自动补齐,那么你本来排的很漂亮的帖子有可能将会出现奇奇怪怪的错位现象。
并且,论坛编辑器的自动检查代码并按照它认为正确的方式补齐代码的行为,是无法手动关闭的,只要你想”编辑“帖子,点击”纯文本“按钮,那么它就会非常贴心的帮你检查并补齐,尽管它补齐后的代码可能会有些别扭






此外,不知道管理能不能帮忙一下,我想要撤回所有的勋章(我有强迫症),之前发布过撤回的帖子,但是都没有碰到管理员回复。
麻烦管理了,如果真的撤回的话,我会非常感谢管理的!






这鬼东西是discuz的锅discuz论坛都这个德行
编辑器逻辑这东西似乎是比较难搞的东西
不是官方的话不太好弄

风扇滑翔翼
本帖最后由 风扇滑翔翼 于 2017-8-17 10:27 编辑

这个BUG我也遇到过 排的好好的莫名其妙变成了一堆垃圾代码 我只能全删了..
导致这种错误的原因:在你发表帖子的时候 这个框是默认为纯文本的 而你编辑的时候 默认为一种奇怪的半非半纯文本(就是一半是纯文本 一半不是) 但你原来打进去的显示为纯文本 而你后来编辑打进去的默认非纯文本 这个BUG最直观的一点就是如果你编辑了一个帖子 第一行没有打完就按Enter换行在编辑出来之后是默认没有换行的 DZ的锅

爱心魔王FHC
所以我如果要写很重要的表格帖子的时候,一般都是手写代码的

还有勋章……不会给你弄的,管理员没那么闲

a526026058
FHC红石 发表于 2017-8-17 10:49
所以我如果要写很重要的表格帖子的时候,一般都是手写代码的

还有勋章……不会给你弄的,管理员没那么闲 ...

不一定。上次管理员还回复过我的问答帖

undefined
事实上,任何discuz论坛都有这个bug
你随便换一个论坛也会出现这种问题

ruhuasiyu
撤回勋章?应该是不行的

ESs4Cg6M
请问帖子 编辑按钮在哪

Smokey_Days
那啥,其实在纯文本模式下编辑就没这么多事情了。
你这个似乎问题是出在表格代码和某些特定代码的兼容性上,Dz的语法补全器似乎会把形如
  1. [align=center]233[td][tr]233[/tr][/td]233[/align]
复制代码

的代码,修正为
  1. [align=center]233[/align][td][tr][align=center]233[/align][/tr][/td][align=center]233[/align]
复制代码

a526026058
Smokey_Days 发表于 2018-1-21 17:31
那啥,其实在纯文本模式下编辑就没这么多事情了。
你这个似乎问题是出在表格代码和某些特定代码的兼容性上 ...

都是在纯文本模式下进行的。
你可以尝试一下,在表格模板里嵌套表格。
到时候排版就自动炸了

Smokey_Days
a526026058 发表于 2018-1-21 17:59
都是在纯文本模式下进行的。
你可以尝试一下,在表格模板里嵌套表格。
到时候排版就自动炸了 ...

你是说这个啊。
似乎论坛嵌套表格是有上限的?
我记得第五层还是第六层开始就会炸掉。

a526026058
Smokey_Days 发表于 2018-1-21 19:15
你是说这个啊。
似乎论坛嵌套表格是有上限的?
我记得第五层还是第六层开始就会炸掉。 ...

两层并列+一层内嵌就炸了。
第二层并列会炸掉。

但是如何不让编辑器补齐代码,还是可以正常解析的

Smokey_Days
a526026058 发表于 2018-1-21 20:38
两层并列+一层内嵌就炸了。
第二层并列会炸掉。

那可能是操作问题。你看看周创公告,我成功实现了四层嵌套。

第一页 上一页 下一页 最后一页