document.body.addEventListener('keydown', function (event) { if (event.key === 'Enter') { // 回车键被按下,执行相应操? sendMessage(); } }); //发送信? function sendMessage() { // 在真实应用中,这里会包含将消息添加到DOM和可能发送到服务器的代码 /* alert('在静态页面中,消息不会被发送?);*/ // 获取输入框的? var input = document.getElementById('messageInput').value; // 检查输入是否为? if (input.trim() !== '') { //当前时间 var formattedDateTime = getFormattedTimestamp(); //请求后台 发送信? var params = new FormData(); params.append('Action', "Sending"); params.append('Content', input);//发送信? params.append('NoteTime', formattedDateTime);//发送时? $.ajax({ url: "/FAQ.ashx", data: params, type: "POST", dataType: "JSON", timeout: 6e4, async: false, cache: false, contentType: false, processData: false, success: function (a) { if (a.code == 200) { //发送成? //将新创建的段落添加到显示框中 Mesen(a.ID,input, formattedDateTime); setTimeout(function () { var list = eval(a.msg); if (list.length > 0) { MessageReply(a.ID,list[0].Content, list[0].NoteTime); } }, 700); } else { //发送异? alert(a.msg); } }, error: function (ab) { alert("返回异常"); } }); } } function send(e) { document.getElementById('messageInput').value = $(e).attr('Title'); sendMessage(); } //用户发? function Mesen(Type,input, formattedDateTime) { // 创建一个div元素作为消息容器 var messageDiv = document.createElement("div"); messageDiv.className = "message you"; // 设置类名 // 创建一个p元素并设置其内容 var p = document.createElement("p"); p.innerHTML = input; // 或者使用p.innerHTML,但对于纯文本textContent更合? // 将p元素添加到div? messageDiv.appendChild(p); // 创建一个span元素用于时间戳(先不设置内容? var timestampSpan = document.createElement("span"); timestampSpan.className = "timestamp"; // 设置类名 formattedDateTime = formattedDateTime.replace('T', ' '); // 设置时间戳span的内? timestampSpan.textContent = `${(Type == 1 ? "? : "Me")} ${formattedDateTime}`; // 将时间戳span添加到div? messageDiv.appendChild(timestampSpan); $(".messages").append(messageDiv); // 清空输入? document.getElementById('messageInput').value = ''; scrollToBottom(); } //小易回复 function MessageReply(Type,input, formattedDateTime) { // 创建一个div元素作为消息容器 var messageDiv = document.createElement("div"); messageDiv.className = "message me"; // 设置类名 // 创建一个p元素并设置其内容 var p = document.createElement("p"); p.innerHTML = input; // 或者使用p.innerHTML,但对于纯文本textContent更合? // 将p元素添加到div? messageDiv.appendChild(p); // 创建一个span元素用于时间戳(先不设置内容? var timestampSpan = document.createElement("span"); timestampSpan.className = "timestamp"; // 设置类名 formattedDateTime = formattedDateTime.replace('T', ' '); // 设置时间戳span的内? timestampSpan.textContent = `${(Type == 1 ? "小易" : "Xiaoyi")} ${formattedDateTime}`; // 将时间戳span添加到div? messageDiv.appendChild(timestampSpan); $(".messages").append(messageDiv); scrollToBottom(); } //对话记录 function QaRecoed() { var params = new FormData(); params.append('Action', "Record"); $.ajax({ url: "/FAQ.ashx", data: params, type: "POST", dataType: "JSON", timeout: 6e4, async: false, cache: false, contentType: false, processData: false, success: function (a) { if (a.IsCrm == true) { $(".chat-container").show(); } if (a.code == 200) { var list = eval(a.msg); for (var i = 0; i < list.length; i++) { if (list[i].Type == "0") { //小易 MessageReply(a.ID,list[i].Content, list[i].NoteTime); } else { //用户 Mesen(a.ID,list[i].Content, list[i].NoteTime); } } $(".iop").html((a.ID == 1 ? "产品咨询" : "Product Consultation")); $("#btn").html((a.ID == 1 ? "发? : "sending")); scrollToBottom(); } else { } }, error: function (ab) { alert("返回异常"); } }); } //假设我们有一个函数来获取格式化的时间? function getFormattedTimestamp() { const now = new Date(); // 格式化时间为"yyyy-MM-dd HH:mm:ss"字符? // 注意:月份是?开始的,所以需?1;日期、小时、分钟、秒则直接取 var formattedDateTime = now.getFullYear() + '-' + ('0' + (now.getMonth() + 1)).slice(-2) + '-' + ('0' + now.getDate()).slice(-2) + ' ' + ('0' + now.getHours()).slice(-2) + ':' + ('0' + now.getMinutes()).slice(-2) + ':' + ('0' + now.getSeconds()).slice(-2); return formattedDateTime; } //垂直滑动? 到底? function scrollToBottom() { var messagesContainer = document.querySelector('.messages'); messagesContainer.scrollTop = messagesContainer.scrollHeight; }168Ʊ