●最近在用ajax开发服务器程序,发现IE...... 最近在用ajax开发服务器程序,发现IE浏览器不支持xmlhttprequest对象,而且找不到Microsoft.XMLHTTP控件。 问题出现了我们需要解决,解决方案如下: 1、运行下regsvr32 msxml3.dll; 2、用现成的框架来做ajax; 3、代码优化: if(window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if(window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } if(handle_s == null) handle_s = "bin/normal.py/db"; this.xmlHttp.onreadystatechange = handle_l; this.xmlHttp.open("GET",handle_s,true); this.xmlHttp.send(null); 或判断浏览器 var agt = navigator.userAgent.toLowerCase(); var is_ie = (agt.indexOf("msie") != -1); var is_ie5 = (agt.indexOf("msie 5") != -1); var is_opera = (agt.indexOf("opera") != -1); var is_mac = (agt.indexOf("mac") != -1); var is_gecko = (agt.indexOf("gecko") != -1); var is_safari = (agt.indexOf("safari") != -1); function CreateXmlHttpReq(handler) { var xmlhttp = null; if (is_ie) { // Guaranteed to be ie5 or ie6 var control = (is_ie5) ? "Microsoft.XMLHTTP" : "Msxml2.XMLHTTP"; try { xmlhttp = new ActiveXObject(control); xmlhttp.onreadystatechange = handler; } catch (ex) { // TODO: better help message alert("You need to enable active scripting and activeX controls"); } } else { // Mozilla xmlhttp = new XMLHttpRequest(); xmlhttp.onload = handler; xmlhttp.onerror = handler; } return xmlhttp; } 或者 |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-29 17:32 , Processed in 0.156326 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.