簡體   English   中英

是否有用於使用javascript訪問Activex對象的跨瀏覽器解決方案

[英]Is there any cross-browser solution for accessing Activex objects using javascript

我們有一個經典的ASP應用程序,該應用程序使用Activex對象(javascript)與后端連接。 這不適用於Chrome,Safari和Firefox。 是否有其他替代方法?

試試這個庫:

http://jquery.com/

它具有以下功能:

jQuery.ajax(設置);

說明文件:

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

在無IE瀏覽器中無法使用ADODB,因為您正確地詢問它是ActiveX控件,並且它是一個討厭的ActiveX控件,您最好使用jQuery作為@emphaticsunshine發布,而無需給出問題的任何鏈接,

和一個服務器端文件,用於管理服務器環境中的數據並使用您的服務器執行操作,如果我記得正確的話,MS會在下一個瀏覽器之一中提取ActiveX

我遇到了同樣的問題,我們使用CORS,WCF,Windows Service,IE Process實現了以下解決方案。 這是簡短的:

您將wcf服務托管在Windows服務中,在其中打開一個隱藏的IE進程以打開一個html頁面,該頁面依次調用activeX並從中獲取數據。 如果可以直接從C#訪問activeX對象(dll),則不需要使用隱藏的IE方法。 就我而言,這是不可能的。

您可以使用CORS(跨源)從您的網站頁面(javascript)調用此wcf服務,您可以對CORS,JsonP等使用不同的方法。對我而言,CORS效果最好。 您也可以為此實現Web套接字,並從上述窗口服務中公開套接字。

// 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,請弄清它需要什么並提供它。 - -祝好運

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM