Discuz教程网

Discuz X2老版本的js关联链接BUG解决方案

[复制链接]
authicon dly 发表于 2012-10-2 14:22:16 | 显示全部楼层 |阅读模式
查了下代码,common_extra.js文件,29~387行,这里关联链接的关键字判断有问题,好像只处理了正文文本中第一个<br />之前的内容了,后面的都不做处理了;
relatedid[j] = 1;后,下一个<br />之前的的内容就不处理,因为if条件里进行了!relatedid[j]判断。
举个例子,后台设置关联链接词为:
1、电脑
2、电脑配件
3、笔记本
发帖内容为:
放到范德萨的萨芬电脑fdsalkj
街坊地块垃圾啊是否快乐电脑配件
房间打扫房了笔记本
那么只有第一个段落的电脑才会被js替换为关联链接。
提供一下临时解决方案:
  1. for(var j = 0; j < relatedlink.length; j++) {
  2. if(relatedlink[j] && !relatedid[j]) {
  3. var ra = '<a href="'+relatedlink[j]['surl']+'" target="_blank" class="relatedlink">'+relatedlink[j]['sname']+'</a>';
  4. var $rtmp = $3;
  5. $3 = $3.replace(relatedlink[j]['sname'], ra);
  6. if($3 != $rtmp) {
  7. relatedid[j] = 1;
  8. }
  9. }
  10. }
复制代码

for里面的 j > -1换成 j < relatedlink.length;,去掉else。



上一篇:Discuz 升级到X系列后,用户自定义字段数据处理的方法
下一篇:Discuz X2.5完美解决(1146) Table 'cq090.common_member_archive' doesn't exist
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 05:07

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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