[英]Is there any cross-browser solution for accessing Activex objects using javascript
我們有一個經典的ASP應用程序,該應用程序使用Activex對象(javascript)與后端連接。 這不適用於Chrome,Safari和Firefox。 是否有其他替代方法?
在無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.