2012-06-12 2 views
0

백엔드 연결에 Activex 개체 (javascript)를 사용하는 Classic ASP 응용 프로그램이 있습니다. 크롬, 사파리 및 파이어 폭스에서는 작동하지 않습니다. 대체 접근법이 있습니까?javascript를 사용하여 ActiveX 개체에 액세스하기위한 크로스 브라우저 솔루션이 있습니까

jQuery.ajax (설정) :

http://jquery.com/

그것은 기능을 가지고 :

+0

아약스 전화를하려고합니까? – emphaticsunshine

+7

ActiveX는 Microsoft (http://en.wikipedia.org/wiki/ActiveX)에서 개발 한 Internet Explorer 전용 기술이므로 다른 브라우저에서는 작동하지 않습니다. 좀 더 많은 정보를 제공해 주시면 대신에 다른 솔루션을 찾을 수 있도록 노력하겠습니다. – oezi

+0

우리는 아약스 전화를하려고하지 않습니다. 우리는 ASP 페이지에서 백엔드와 연결하는 ADODB.Connection, ADODB.Recordset 객체를 만드는 전통적인 방법을위한 대체 솔루션을 찾고 있습니다. 이 솔루션은 Chrome, Safari, Firefox 및 IE 9 브라우저에서 작동해야합니다. 귀하의 회신에 감사드립니다. – Kamalraj

답변

0

이 라이브러리를 사용해보십시오

문서 : 당신이 올바르게 ActiveX 컨트롤, 그리고 당신이 될 것 불쾌한 ActiveX 컨트롤의 요청으로 IE 브라우저가 수행 할 수없는 없음에 ADODB를 사용

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

0

최적의 사용보고 @emphaticsunshine으로 jQuery 귀하의 질문에 어떤 링크를주고 게시

및 서버 환경에서 데이터를 관리하고 서버를 사용하기 위해 서버를 사용하기 위해, 만약 내가 정확하게 기억 MS는 중 하나에서 ActiveX를 당기고있다 다음 브라우저

0

동일한 문제가 있었으며 CORS, WCF, Windows 서비스, IE 프로세스를 사용하여 다음 솔루션을 구현했습니다. 다음은 간단한 내용입니다.

숨겨진 IE 프로세스를 열어 html 페이지를 여는 Windows 서비스에서 wcf 서비스를 호스트합니다. 그러면 html 페이지가 열리고 activeX가 호출되어 해당 데이터를 가져옵니다. C#에서 activeX 객체 (dll)에 직접 액세스 할 수있는 경우 숨겨진 IE 접근 방식을 사용할 필요가 없습니다. 내 경우에는 이것이 가능하지 않았습니다.

CORS (교차 출처)를 사용하여 웹 사이트 페이지 (자바 스크립트)에서이 wcf 서비스를 호출하면 CORS, JsonP 등 다른 접근 방식을 사용할 수 있습니다. CORS가 가장 잘 작동했습니다. 당신은 또한 이것을 위해 웹 소켓을 구현하고 위의 윈도우 서비스로부터 소켓을 노출시킬 수있다.

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를 가지고 있지 않다면, 필요한 것을 알아 내서 그것을 먹여라. --- 행운을 빌어 요.

관련 문제