IE 网页聊天对话框 发送Botton失效

biubiuzZ 2019-03-14 02:59:06
https://download.csdn.net/download/fu415037685/10567518
我参考了这篇文章的源码,大致写出了一个网页。在Chrome和其他浏览器上运行没有没问题。但是在IE11上,输入聊天内容后点击 发送 没有响应,F12反馈,‘发送’函数 sendMessage 未定义。可能是JS没写好。因为有必须用IE的需求,所以请教一下大佬们有什么办法可以解决。

html 如下

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>小助手</title>
<link rel="stylesheet" href="css/index.css">
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js">
</script>
</head>
<body style="overflow: hidden;max-width: 50%;margin: 0 auto;background: #5b515133;" onkeydown="onKeyDown(document.getElementById('search').value)" >
<div id="container">
<div class="header">
<div class="logo logo-text">小助手</div>
<div id="contact-btn" class="func-btn" style="display: block">
</div>
</div>
<div class="main">
<div class="lside">
<div class="chat-box" >
<div class="jspScrollable" style="overflow: auto" tabindex="0">
<div class="jspContainer">
<div class="jspPane" id="jspPane" style="width: 100%;">
<div class="rctCtn chtCtn lft" >
<div class="chtMsg chtMsg-greeting">
<div id="talk">
<div class="robot" style="margin-top: 20px;">
<div class="chat">
<div class="robot-icon" style="width:46px;height: 46px;"></div>
<div class="robot-response">
<div class="robot-chat">
你好,有什么需要吗?
</div>
</div>
<span class="robot-talk-cor"></span>
</div>
</div>

<!--<div class="me">-->
<!--<div class="i-talk">-->
<!--<div class="me-chat">我</div>-->
<!--<div class="content">测试一下</div>-->
<!--<span class="i-talk-cor"></span>-->
<!--</div>-->
<!--</div>-->
</div>
</div>
<div>
<a id="msg_end" name="1" href="#1"> </a>
</div>
</div>
</div>
</div>
</div>
</div>

<!--<div class="send-box">-->
<!--<div class="input-box" autocomplate="off" >-->
<!--<input type="text" id="input" class="input ui-autocomplate-input" placeholder="主人,您还想问些什么?" autocomplete="off" autofocus>-->
<!--</div>-->
<!--<div id="send-btn" class="send-btn">-->
<!--<span onclick="sendMessage(document.getElementById('input').value)">发送</span>-->
<!--</div>-->
<!--</div>-->
<div class="ask-area">
<div class="input-area">
<ul class="input-tip">
<textarea id="search" autocomplete="off" disableautocomplete placeholder="主人,您有什么想问的吗?" autofocus></textarea>
</ul>
</div>
<button class="send-btn" onclick="sendMessage(document.getElementById('search').value)">
发送
</button>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="js/index.js"></script>
</body>
</html>



JS如下

var xmlHttp;
//键盘监听
function onKeyDown(str){
if(window.event.keyCode == "13" && event.ctrlKey ){
document.getElementById("search").value += "\n";
}else if(window.event.keyCode == "13"){
event.preventDefault();
sendMessage(str);
}
}
//发送一个消息
function sendMessage(str) {
if(str==""){
return
}
//添加信息
document.getElementById('talk').innerHTML += `<div class="me" style="clear: both">
<div class="i-talk">
<div class="me-chat">我</div>
<div class="content">${str}</div>
<span class="i-talk-cor"></span>
</div>
</div>`
//清空输入框
document.getElementById('search').value = '';


xmlHttp = GetXmlHttpObject()
if (xmlHttp == null) {
alert("恭喜您,您的浏览器不支持ajax!");
return;
}
var url = "http://www.tuling123.com/openapi/api?key=c1becdcde3c54ef6b9e7cb7173c6dfed";
url = url + "&info=" + str;
url = url + "&userid=1234";
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
//接收到一个消息
function stateChanged(){
if(xmlHttp.readyState==4){
var msg=eval('('+xmlHttp.responseText+')');
document.getElementById('talk').innerHTML += `<div class="robot" style="clear: both">
<div class="chat">
<div class="robot-icon" style="width:46px;height: 46px;"></div>
<div class="robot-response">
<div class="robot-chat">
${msg.text}
</div>
</div>
<span class="robot-talk-cor"></span>
</div>
</div>`;

}
document.getElementById("msg_end").click();
document.getElementById('search').focus();
}

function GetXmlHttpObject(){
var xmlHttp=null;
try{
xmlHttp=new XMLHttpRequest();
}catch(e){
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}

$(".hot-item").live("click",function(){
var aa=$(this).attr("id");
var testname=document.getElementById(aa).innerHTML;
document.getElementById('talk').innerHTML += `<div class="me" style="clear: both">
<div class="i-talk">
<div class="me-chat">我</div>
<div class="content">${testname}</div>
<span class="i-talk-cor"></span>
</div>
</div>`

xmlHttp = GetXmlHttpObject()
if (xmlHttp == null) {
alert("恭喜您,您的浏览器不支持ajax!");
return;
}
var url = "http://www.tuling123.com/openapi/api?key=eb1b5387a6ee4d8091fb96735631a632";
url = url + "&info=" + testname;
url = url + "&userid=1234";
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
document.getElementById("msg_end").click();
})



...全文
76 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
麦草CMS 2019-03-14
  • 打赏
  • 举报
回复
你用了ie不支持的反引号``
内容概要:本文研究了基于二阶线性自抗扰控制器(LADRC)的表贴式永磁同步电机(PMSM)双闭环矢量调速系统,重点在于通过Simulink搭建仿真模型,实现对PMSM的速度和电流双环控制。文中系统阐述了LADRC的核心原理及其在估计并补偿系统内部动态与外部扰动方面的优越性,相较于传统PI控制,LADRC显著提升了系统的动态响应速度、抗干扰能力和鲁棒性。研究构建了完整的矢量控制体系,涵盖了Park与Clarke坐标变换、空间矢量脉宽调制(SVPWM)技术、转速环与电流环的协同设计,并通过大量仿真实验,全面验证了所提出控制策略在启动过程、突加/突卸负载以及电机参数摄动等多种工况下的卓越性能表现。; 适合人群:自动化、电气工程、控制科学与工程及相关专业的研究生、高校科研人员及从事高性能电机驱动与控制算法开发的工程师。; 使用场景及目标:①深入理解自抗扰控制(ADRC)理论在高精度电机驱动系统中的具体应用与实现方法;②掌握基于Simulink/MATLAB的PMSM矢量控制系统从理论建模到仿真实现的全流程技术;③学习并掌握LADRC控制器的参数整定规律与优化技巧,提升解决实际工程中强扰动、非线性问题的能力;④为研发具有更高鲁棒性和控制精度的工业级电机控制系统提供先进的技术方案与理论依据。; 阅读建议:建议读者结合所提供的Simulink仿真模型进行同步学习与实践,重点关注扩张状态观测器(ESO)的带宽配置、控制器参数与系统性能之间的内在关系,并可通过修改负载条件和电机参数来测试系统的鲁棒性,为进一步研究非线性ADRC或将其应用于其他复杂机电系统奠定坚实基础。

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧