我目前正在研究使用backbone.js作为框架的javascript项目。 这是一个非常古老的项目,其中使用了Activex组件,现在我需要完全替换此控件,以便即使我禁用了 Active X,我的功能也应该按预期工作。我怎样才能做到这一点?这是我下面的代码块,可以参考。谢谢
function getXMLRequest() {
var xmlHttp = null;
if (location.protocol.substr(0, 4) == "http") {
try { // Firefox, Opera 8.0+, Safari
xmlHttp = new XMLHttpRequest();
} catch (e) { // Internet Explorer
try {
// i need to replace these activex controls
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
} else {
xmlHttp = new XMLCclRequest();
}
return xmlHttp;
}
该代码仅在浏览器没有对 XMLHttpRequest 的本机支持时才使用 ActiveX。
即,如果浏览器是Internet Explorer 7或更早版本。
今天没有人应该使用该浏览器。它不会获取安全更新。它不会在获取安全更新的操作系统上运行。
所以:
function getXMLRequest() {
return new XMLHttpRequest();
}
如果您需要支持这种可怕的过时浏览器,那么您需要更改服务器和客户端上的代码以使用 JSONP。