- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在努力实现网络聊天,并提出了一个我希望可以轻松解决的问题。
如何更改发件人/收件人的颜色以区分它们?我试图将颜色保存到我的数据库中,但问题是我如何确定我是发送者,接收者的颜色需要不同。
这就是我实现聊天的方式:
聊天.js
connection.on("SessionNotification", function (user, message) {
var msg = message.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
var p = document.createElement("span");
var q = document.createElement("li");
p.setAttribute("class", "Sender");
q.setAttribute("class", "Message");
p.textContent = user + " - " + moment(datetime).format("DD-MM-YYYY HH:mm:ss");
q.textContent = msg;
document.getElementById("MessageList").appendChild(p);
document.getElementById("MessageList").appendChild(q);
});
HTML
<script>
$(document).ready(function () {
$('#MessageList').stop().animate({
scrollTop: $('#MessageList')[0].scrollHeight
}, 2000);
var SessionId = document.getElementById("Id").value;
console.log(SessionId);
var form_data = {
"SessionId": SessionId
};
$.ajax({
url: "@Url.Action("GetHistory", @ViewContext.RouteData.Values["controller"].ToString())",
method: "POST",
data: JSON.stringify(form_data),
contentType: "application/json",
success: function (result) {
console.log(result);
var output = JSON.parse(result);
for (var i = 0; i < output.length; i++) {
var p = document.createElement("span");
var q = document.createElement("li");
p.setAttribute("class", "Sender");
q.setAttribute("class", "Message");
p.textContent = output[i].Name + " - " + moment(output[i].CreatedOn).format("DD-MM-YYYY HH:mm:ss");
q.textContent = output[i].Message;
document.getElementById("MessageList").appendChild(p);
document.getElementById("MessageList").appendChild(q);
}
},
error: function (error) {
console.log(error);
}
});
return false;
});
</script>
<div class="col-sm-12">
<h2>Session</h2>
<hr />
</div>
<div class="col-sm-12">
<div class="row">
<div class="col-sm-12">
<div class="form-group">
<div id="MessageListContainer">
<ul id="MessageList">
</ul>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="form-group">
@Html.HiddenFor(m => m.Id)
@Html.HiddenFor(m => m.CurrentUser)
<input class="form-control col-sm-12" id="Message" type="text" />
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="form-group">
<div class="clearfix">
<div class="pull-right">
<input id="Send" type="button" value="Send" class="btn btn-primary" />
</div>
</div>
</div>
</div>
</div>
<div class="col-sm-12">
<hr />
</div>
</div>
<script src="~/aspnet/signalr/dist/browser/signalr.js"></script>
<script src="~/js/chat.js"></script>
最佳答案
作为 JSON 返回的 AJAX 调用似乎有一些字段,如 Name
和 CreatedOn
。您可以为 SessionId
添加一个额外的现场服务器端,无论如何您都将服务器端注入(inject)到您的 HTML 中。然后您可以比较消息的 session 是否与您的匹配。如果是这样,那么是你而不是接收者。所以你可能有这样的东西:
JS
// You set this earlier on
var SessionId = document.getElementById("Id").value;
// ........ OTHER CODE IN BETWEEN
for (var i = 0; i < output.length; i++) {
var p = document.createElement("span");
var q = document.createElement("li");
// If session ID matches current session (i.e. you) then add different class
if (output[i].SessionId === SessionId) {
// It is you
p.setAttribute("class", "Sender");
} else {
// It is other person
p.setAttribute("class", "Receiver");
}
q.setAttribute("class", "Message");
p.textContent = output[i].Name + " - " + moment(output[i].CreatedOn).format("DD-MM-YYYY HH:mm:ss");
q.textContent = output[i].Message;
document.getElementById("MessageList").appendChild(p);
document.getElementById("MessageList").appendChild(q);
}
CSS
.Sender {
color: blue;
}
.Receiver {
color: green;
}
关于javascript - WebChat 如何为发送者/接收者设置 css 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54413507/
有没有办法将 Onchange 事件添加到网络聊天(版本 V4)中呈现的自适应卡片输入字段中。在结帐屏幕中更改数量值(数字类型的自适应卡输入字段)的示例应更新总计值(自适应卡文本字段) 为了保持简单.
有没有办法将 Onchange 事件添加到网络聊天(版本 V4)中呈现的自适应卡片输入字段中。在结帐屏幕中更改数量值(数字类型的自适应卡输入字段)的示例应更新总计值(自适应卡文本字段) 为了保持简单.
我使用 Microsoft Bot Framework 开发了一个聊天机器人,并通过 DirectLine 将其包含在我的网站中: BotChat.App({
我想换聊天头像,还有bot的头像,但是设置背景图不行 var styleSet = window.WebChat.createStyleSet({ backgroundColor: '#f3f
我正在使用自定义的 Microsoft Bot 框架 WebChat Client .当我的机器人无法为用户提供解决方案时,它能够与代理进行实时聊天服务。 我需要允许代理“先睹为快”当前正在输入 We
我正在使用 microsoft/BotFramework-WebChat ,但我无法正确滚动它。 通常当机器人响应时,用户被迫手动滚动到聊天记录的底部。 我找不到任何关于钩子(Hook)的文档,可以让
我正在尝试将此网络聊天小部件连接到 rasa ( https://github.com/mrbot-ai/rasa-webchat ),但我得到了这个 error在我的控制台中,还有这个 error在
我正在使用 Microsoft 的 C# Bot 框架开发一个机器人。在他/她发送任何内容之前,我试图向用户发送一条欢迎消息作为介绍。 经过研究,我使用 HandleSystemMessage 函数并
我有一个机器人,当使用模拟器时可以在本地运行,但如果我尝试使用 WebChat 或 Skype。它只能以一种方式工作(也就是说,请求来自网络聊天和 Skype,但不会返回给它们)。我的代码更复杂,但当
var response = MessageFactory.Attachment(new Attachment { Name = @"application.png", Conte
我需要维护聊天历史记录,并在页面刷新或关闭并打开窗口后将它们加载回窗口中。 问题:按钮/轮播/自适应卡/英雄卡事件/属性未加载(即,当我单击按钮或任何事件时,操作未发生)。描述:为了达到要求,我有两个
所以,我正在按照教程 here 进行操作关于如何设置 Twilio Flex WebChat。虽然它确实有效,但我稍后需要更改友好名称。 我的应用程序的工作方式是,它在用户登录之前显示网络聊天,因为脚
我们的网站上有一个网络聊天窗口,可以最小化/重新打开(这会保留相同的 token ,如果仍然有效)或关闭/重新打开(这确保我们检索新的 token )。当我们向机器人发送特定事件时,我们的机器人应该向
我正在努力实现网络聊天,并提出了一个我希望可以轻松解决的问题。 如何更改发件人/收件人的颜色以区分它们?我试图将颜色保存到我的数据库中,但问题是我如何确定我是发送者,接收者的颜色需要不同。 这就是我实
通过否决 BotFramework 网络聊天客户端的 defaultStyleOptions.js,我正在自定义客户端。这对一部分来说效果很好。将鼠标悬停在自适应卡片操作上或悬停发送按钮时,我无法修改
我在 Node.js 中使用 botbuilder 创建了一个简单的聊天机器人。由于给定的环境,我通过自定义 iframe 包含了聊天机器人。前端是带有 DirectLine 的 WebChat。如何
我需要帮助使用来自 Microsoft 的 BotFramework 的 webchat v4 通过 Javascript 将消息发送回机器人。 我的机器人代码是用 C# (.NET Framewor
我正在尝试发送以下消息 this指南,但我得到 403。该机器人使用 Web App Bot 模板部署在 Azure 上。 我获得了不记名 token curl -X POST \ https:/
按照我能找到的与网络聊天和直线相关的所有 MS 指南,但无论我从 botchat.js 尝试什么,我都会不断收到以下错误: Object doesn't support property or met
我正在尝试将表情符号添加到机器人的网络聊天响应中。我试过 Markdown ,但这似乎不起作用。在 WebChat 的响应中包含表情符号的最佳方式是什么? 最佳答案 要使用表情符号,您可以使用 Uni
我是一名优秀的程序员,十分优秀!