You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Chatterbot的聊天机器人:动态jQuery列表行链接无法点击求助

解决聊天机器人链接无法点击的问题

嘿,我来帮你搞定这个链接不显示的问题!问题的根源其实很简单——你现在用的$row.text(text)方法会把所有传入的内容当作纯文本处理,哪怕你的statement里已经包含了<a href="...">这样的HTML链接标签,它也会把这些标签转义成普通字符串,自然没法渲染成可点击的链接。

快速修复方案

把createRow函数里的$row.text(text)改成$row.html(text)就可以了,这样jQuery会把内容当作HTML解析,链接标签就能正常生效:

function createRow(text) { 
  var $row = $('<li class="list-group-item"></li>'); 
  $row.html(text); // 替换text()为html()
  $chatlog.append($row); 
}

额外场景处理

如果你的Python代码传递过来的是纯文本链接(比如直接传"https://example.com"而不是带<a>标签的字符串),那你需要先把纯文本转换成HTML链接标签。可以在前端加个简单的处理函数:

// 把文本中的URL转换成可点击的链接
function convertTextToLinkedHtml(text) {
  // 匹配http/https开头的URL
  const urlPattern = /(https?:\/\/[^\s]+)/g;
  return text.replace(urlPattern, '<a href="$1" target="_blank">$1</a>');
}

// 修改createRow函数
function createRow(text) { 
  var $row = $('<li class="list-group-item"></li>'); 
  $row.html(convertTextToLinkedHtml(text));
  $chatlog.append($row); 
}

注意事项

使用html()方法要留意XSS安全风险:如果聊天机器人的输出可能包含用户输入的恶意代码,建议先对非链接内容做转义处理,只把合法的URL转换成链接标签,避免页面被注入恶意脚本。

内容的提问来源于stack exchange,提问作者Angad Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:50:41