从JavaScript调用DLL方法(Call DLL methods from Javascrip

2019-06-26 08:35发布

我想从JavaScript调用DLL中的方法。

我跟着这篇文章创建与C#ActiveX对象

由于只的ActiveX在IE中,我应该怎么能够调用从JavaScript在Firefox或Chrome那些方法?

我已经具有使用ActiveX对象来调用DLL方法的应用程序,但它仅在IE浏览器的工作原理。

是否有任何可能的方式,这将使我的应用程序独立于浏览器?

更新

我用jQuery的异步AJAX和Web服务调用的dll方法:

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”:“正确”},其中“true”是从的CallMe返回的字符串。

如何将我就能得到的只有返回从它的字符串?

此外,如果的CallMe()的web服务的方法返回的一类存在于DLL对象? 我怎么能检索的JavaScript对象? 和我将能够调用使用返回的对象类的方法?

请帮忙。

Answer 1:

你不能只是执行在浏览器中的DLL方法(这是出于安全原因)。
为了在浏览器中执行一些编译的代码,你将不得不使用一个插件

ActiveX是刚刚在IE中执行浏览器插件的方法。 所有其他浏览器使用不同的插件接口。
然后,如果用户将浏览器安装插件 - 这个插件将可从JS,你可以用它在DLL中执行某些功能。



Answer 2:

这样的事情应该工作:

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

::更新::

从这个检查hazerd的答案链接 。



文章来源: Call DLL methods from Javascript