有没有使用javascript访问Activex对象的跨浏览器解决方案

时间:2012-06-12 13:10:53

标签: javascript cross-browser activex

我们有一个经典ASP应用程序,它使用Activex对象(javascript)与后端连接。这不适用于Chrome,Safari和Firefox。有没有其他方法可用?

4 个答案:

答案 0 :(得分:0)

试试这个库:

http://jquery.com/

它有一个功能:

jQuery.ajax(设置);

文档:

http://api.jquery.com/jQuery.ajax/

答案 1 :(得分:0)

在无IE浏览器中使用ADODB无法完成,因为你正确地问它是一个ActiveX控件,它是一个令人讨厌的ActiveX控件,你最好看看使用jQuery作为@emphaticsunshine发布没有给你任何链接问题,

和服务器端文件,用于管理服务器环境中的数据并使用您的服务器,如果我没记错,MS正在下一个浏览器中提取ActiveX

答案 2 :(得分:0)

我遇到了同样的问题,我们使用CORS,WCF,Windows服务,IE Process实现了以下解决方案。以下是简报:

您在Windows服务中托管wcf服务,在该服务中打开隐藏的IE进程以打开html页面,该页面又调用activeX并从中获取数据。 如果您可以直接从C#访问activeX对象(dll),那么您不需要使用隐藏的IE方法。就我而言,这是不可能的。

您使用CORS(交叉源)从您的网站页面(javascript)调用此wcf服务,您可以使用不同的方法为它CORS,JsonP等。对我来说CORS效果最好。您还可以为此实现Web套接字,并从上面的窗口服务公开套接字。

答案 3 :(得分:0)

// Emulate the XMLHttpRequest() constructor in IE5 and IE6
if (window.XMLHttpRequest === undefined) {
window.XMLHttpRequest = function() {
try {
// Use the latest version of the ActiveX object if available
return new ActiveXObject("Msxml2.XMLHTTP.6.0");
}
catch (e1) {
try {
// Otherwise fall back on an older version
return new ActiveXObject("Msxml2.XMLHTTP.3.0");
}
catch(e2) {
// Otherwise, throw an error
throw new Error("XMLHttpRequest is not supported");
}
}
};
}

// js的权威指南规定了这种方法。使用XMLHttpRequest,如果客户端没有window.XMLHttpRequest,请找出它需要的内容并将其提供给它。 ---祝你好运