2012-07-17 2007 views
5

javascriptからDLLのメソッドを呼び出したい。JavascriptからDLLメソッドを呼び出す

ActiveXはIEのみで動作するので、私はこの記事にCreating activex objects with c#

を踏襲し、どのように私はFirefoxやChromeでJavaScriptからこれらのメソッドを呼び出すことができるでしょうか?

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のメソッドを呼び出すためにAJAXとWebサービス非同期(async)の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でしか使えないと思う。 –

関連する問題