Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Javascript调用DLL方法_Javascript_Dll - Fatal编程技术网

从Javascript调用DLL方法

从Javascript调用DLL方法,javascript,dll,Javascript,Dll,我想从javascript调用dll的方法 我看了这篇文章 由于activeX只在IE中工作,我应该如何从FireFox或Chrome中的javascript调用这些方法 我已经有一个应用程序,它使用ActiveX对象调用Dll方法,但它只在IE中工作 有没有可能使我的应用程序浏览器独立 已更新 我使用Jquery async AJAX和webservice调用dll方法: var to_return = $.ajax({ type: "POST", url:

我想从javascript调用dll的方法

我看了这篇文章

由于activeX只在IE中工作,我应该如何从FireFox或Chrome中的javascript调用这些方法

我已经有一个应用程序,它使用ActiveX对象调用Dll方法,但它只在IE中工作

有没有可能使我的应用程序浏览器独立

已更新

我使用Jquery async AJAX和webservice调用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”}的形式提醒它,其中“True”是从CallMe返回的字符串

我如何才能从中仅获取返回的字符串

另外,如果webservice的CallMe()方法返回该DLL中存在的类的对象? 如何在JavaScript中检索该对象?和 我是否能够使用返回的对象调用该类的方法


请帮忙。

类似的方法应该可以:

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


查看hazerd的答案。

您不能只在浏览器中执行dll方法(这是出于安全原因)
为了在浏览器中执行一些编译后的代码,您必须使用

ActiveX只是在IE中实现浏览器插件的一种方法。所有其他浏览器都使用不同的插件接口

然后,若用户将在浏览器中安装您的插件-此插件将从JS提供,您可以使用它在dll中执行某些功能

复制品?谢谢VitaliyG。目前我正在使用这个插件选项。是的,你可以。你只需要发明或模拟COM。基本上,您向服务器发送一个ajax请求,以打开一个dll,并将其模块指针存储在一个全局字符串中,指向模块Id映射。然后可以在服务器上发送模块的字符串id和函数名。服务器可以加载模块函数并将其存储在字符串到函数指针映射中。在此之后,您可以通过服务器id字符串向服务器发送调用函数的请求。尽管您需要自己的变体方案来支持使用参数。亲爱的@Nirmal它适用于chrome吗?我认为ActiveXObject只允许在IE中使用。