我是亚马逊Lex的新手。我试图返回一个超链接作为从Lambda函数到亚马逊Lex的“内容”响应的一部分。基本上我做了以下事情:
var message = {
'contentType': 'PlainText',
'content': 'We offer x,y,z. For more information, visit our <a href="www.xyz.com">website</a>'
}
这会将整个响应作为字符串返回,而我希望在聊天机器人上显示之前呈现html部分。我不想在我的回复之下使用responseCard。是否可以在返回的内容中包含超链接? 感谢
答案 0 :(得分:1)
请注意,这是用于在HTML页面上呈现对话
当我开发HTML页面以呈现用户和聊天机器人之间的聊天时,我遇到了同样的问题。我设法使用以下Javascript函数解决它:
function showResponse(lexResponse) {
var conversationDiv = document.getElementById('conversation');
var responsePara = document.createElement("P");
responsePara.className = 'lexResponse';
if (lexResponse.message) {
var message = lexResponse.message.replace(/"/g, '\'');
responsePara.innerHTML = message;
responsePara.appendChild(document.createElement('br'));
}
conversationDiv.appendChild(responsePara);
conversationDiv.scrollTop = conversationDiv.scrollHeight;
}
作为参考,您可以参考我就此问题提出的问题:LexResponse output does not understand HTML data
答案 1 :(得分:0)
内容的渲染是客户的工作。 Lex的测试控制台窗口不支持超链接渲染 但是,如果您将聊天机器人部署到某些渠道(如facebook或slack),它将正常工作。