#1 - 2017-5-5 15:36
chitanda@Lv2 (Make Bangumi Great Again!)
小问题。其实我也不知道是谁的锅。姑且贴个图:
code标签内有[mask]的的时候,被回复引用后会导致mask标签效果生效而不是原本的文本格式
code标签内有[mask]的的时候,被回复引用后会导致mask标签效果生效而不是原本的文本格式
回复时仅引用纯文本,然后用quote括起来。这一步有问题吗?
用code包围的BBCode由于是“code”不解析,当作纯文本被引用。这一步有问题吗?
而被用quote括起来的BBCode由于没有被code包围所以就被解析生效。这一步有问题吗?
只有code被忽略?如果我告诉你我可以构造一个code不被忽略的回复呢。
实际上用这个方法可以影响回复你的人的引用内容。
你这个论点就是错的。看到这个加粗的“错”字了么?他并没有被视作纯文本。所以一样是bbcode里的内容,为什么
而且可以构造一个code不被忽略的回复不就正好说明你前面这个论点站不住。实际上quote的内容并没有忽略哪个特定BBCode标签的设定,code被忽略是个bug
上面这句话是用b加粗的,回复一下试试。
BGM的回复系统确实是这么“回复时仅引用纯文本,然后用quote括起来”设定的。
那我现在能认为这个设定本身有问题了么?
既然用户可以自行构造一个完全符合BBCode使用规则并正常显示出来的回复,为什么系统自动设置的回复要过滤掉全部的BBCode?
然而我还是很好奇虽然前端确实拿不到bbcode,但是后端完全可以获得被引用的回复的bbcode代码吧?按理说后端处理下返回应该也是没问题的。。
不过就当这是技术限制吧,毕竟需求也有个轻重缓急
我也来弄一个试试看。。
假设一个这样的时间流程:我回复“乖爷爷,快叫孙子”,你看到我写的内容,你开始写回复“孙子”,我edit我的回复内容为“你是我谁?”并保存,你写完回复“孙子”并发送
为了让你真正回复的对象内容是你当时浏览器看到的内容,只能前端先取好,一并保存。
如果让后端处理,你会发现辛辛苦苦写完,传给服务器,再传回来,要回复的对象内容已经变了。。
[size=0]苟利国家生死以[/size]岂因祸福避趋之
唉你们好厉害
大概的一个源代码:
https://pastebin.com/8a7bBAzB