【BUG】官方管理人员请查阅,发现禅道文档bug一枚,并附带bug代码,以及解决方案~~~
在使用禅道(开源版)中的文档功能时,
发现只要在文档中同时添加了 超链接 和 图片时,保存后,
打开文档进行查看,就会发现文档显示时 超链接 被 替换成文档中的 图片了,
再进入 修改模式,发现文档原稿没问题。
通过查看代码,找到了导致该bug的问题代码。
在文件 “/zentao/js/all.js” 的方法 function convertURL() 中:
解决方案也很简单,打开禅道中的文件:
/zentao/js/all.js
查找代码:
var c=iframeTags=imgTags=[];
将此 引用赋值 换成下面的 分开独立初始化:
var c=[];var iframeTags=[];var imgTags=[];
保存,重新打开,世界真美好!
哈哈,再赠送一个Bug吧。
还是跟上面同一个文件同一个方法里面,那个匹配 URL 的正则表达式:
var b = /(http:\/\/|https:\/\/)((\w|:|=|\?|\.|\/|\&|-|%|;)+)/g;
没有考虑到类似(http://192.168.1.100:8888)这样带端口号的URL链接,而且这个正则表达式也不够精简,我修改了一下,建议换成下面这个:
var b = /(ftp|http[s]?):\/\/[\w.:/?=&%-]+/ig
增加了支持 ftp协议 和 端口号,虽然也是无法百分百完全精准匹配URL官方定义的规则,但平时用用足够了哈,
顺便附带上对应的 js 测试代码:
/(ftp|http[s]?):\/\/[\w.:/?=&%-]+/ig.exec("https://bob.baidu.com:8080/home/index.htm?a=b&c_=%d地址dafsffsd")