2012-07-17 6 views
5

자바 스크립트에서 dll 메소드를 호출하고 싶습니다. 액티브 X는, 어떻게 파이어 폭스 나 크롬에서 자바 스크립트에서 해당 메소드를 호출 할 수 있어야에만 IE에서 작동하기 때문에자바 스크립트에서 DLL 메소드 호출하기

는이 기사 Creating activex objects with c#

을 따라?

ActiveX 개체를 사용하여 Dll 메서드를 호출하는 응용 프로그램이 이미 있지만 IE에서만 작동합니다.

내 응용 프로그램 브라우저를 독립적으로 만들 수있는 방법이 있습니까?

var to_return = $.ajax({ 
     type: "POST", 
     url: "Default.aspx/CallMe", //CallMe is WebService method 
     data: "{}", // parameter to pass 
     async: false, 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
    }); 

    alert(to_return.responseText); 

CallMe (경우)은 { "D"로 경보하는 문자열을 반환 :

는 DLL 메소드를 호출

I는 AJAX 비동기 jQuery를 사용 및 웹 서비스를 업데이트 : "True"} 여기서 "True"는 CallMe에서 반환 된 문자열입니다.

어떻게 반환 된 문자열 만 가져올 수 있습니까?

또한 CallMe() webservice의 메소드는 해당 DLL에있는 클래스의 객체를 반환합니까? JavaScript로 해당 객체를 검색하려면 어떻게해야합니까? 반환 된 객체를 사용하여 해당 클래스의 메소드를 호출 할 수 있습니까?

도와주세요. 이 같은

+0

중복 되었습니까? http://stackoverflow.com/questions/9430619/calling-a-dll-function-from-a-html-page-that-runs-on-chrome-and-firefox?rq=1 – rene

답변

2

브라우저에서 dll 메서드를 실행할 수 없습니다 (보안상의 이유로이 작업이 수행됩니다).
브라우저에서 컴파일 된 코드를 실행하려면 plugin

ActiveX는 IE에서 브라우저 플러그인을 구현하는 방법 일뿐입니다. 다른 모든 브라우저는 다른 플러그인 인터페이스를 사용합니다.
그런 다음 사용자가 브라우저에 플러그인을 설치하면 JS에서이 플러그인을 사용할 수 있으며이 플러그인을 사용하여 DLL의 일부 기능을 실행할 수 있습니다.

+0

VitaliyG에게 감사드립니다. 현재이 플러그인 옵션을 현재 사용 중입니다. –

+0

예. 할 수 있습니다. COM을 발명하거나 시뮬레이션해야합니다. 기본적으로 서버에 ajax 요청을 보내 dll을 열고 모듈 포인터를 전역 문자열의 모듈 ID 맵에 저장합니다. 그런 다음 서버에있는 모듈의 문자열 ID와 함수 이름을 보낼 수 있습니다. 서버는 모듈 함수를로드하여 함수 포인터 맵에 문자열로 저장할 수 있습니다.이 후에는 서버 ID 문자열로 함수를 호출하기 위해 서버에 요청을 보낼 수 있습니다. 인수 사용을 지원하려면 자체 변형 체계가 필요합니다. – Dmitry

3

뭔가 작업을해야합니다 :

var obj = new ActiveXObject("ABCDll.testMethod"); 
var vResult = obj.TestMethod(); 
alert(vResult); 

:: 갱신 :이 link에서

체크 hazerd의 대답.

+1

나는 이미 그것을 시도했다. IE에서만 작동합니다. –

+0

업데이트 된 답변 확인. – Nirmal

+0

친애하는 @Nirmal 크롬에 해당됩니까? ActiveXObject는 IE에서만 허용됩니다. –

관련 문제